https://laravel.com/docs/9.x/validation#rule-mimes
'file' => 'required|mimes:csv,txt,xlx,xls,pdf|max:4048'
below is my code want to upload a file to app/public/file directory in laravel orchid but getting that error
i am using laravel orchid
\<?php
namespace App\Orchid\Screens\Examples;
use Illuminate\Http\Request;
use App\Models\Upload;
use App\Models\Contact;
use Maatwebsite\Excel\Concerns\ToModel;
use Illuminate\Mail\Message;
use Illuminate\Support\Facades\Mail;
use Orchid\Screen\Fields\Input;
use Orchid\Screen\Fields\Quill;
use Orchid\Screen\Fields\Relation;
use Orchid\Screen\Fields\Textarea;
use Orchid\Support\Facades\Layout;
use Orchid\Screen\Actions\Button;
use Orchid\Screen\Screen;
use Orchid\Attachment\Attachable;
use Orchid\Attachment\Models\Attachment;
use App\Models\File;
use Orchid\Support\Facades\Alert;
class ExampleFieldsAdvancedScreen extends Screen
{
/**
*
* @return array
*/
public function query(): iterable
{
return [
];
}
/**
* Display header name.
*
* @return string|null
*/
public function name(): ?string
{
return 'Bulk Add or Bulk Send';
}
/**
* Display header description.
*
* @return string|null
*/
public function description(): ?string
{
return 'Upload contact csv or create new.';
}
/**
* Button commands.
*
* @return Action[]
*/
public function commandBar(): iterable
{
return [
Button::make('Upload')
->method('store')
->icon('paper-plane')
];
}
/**
* @param Request $request
*/
//upload the csv file
/**
* Views.
*
* @throws \Throwable
*
* @return \Orchid\Screen\Layout[]
*/
public function layout(): iterable
{
return [
Layout::rows([
Input::make('file')
->type('file')
->title('Upload file')
->horizontal(),
// Relation::make('contacts.')
// ->title('recipients')
// ->multiple()
// ->required()
// ->placeholder('Mobile Number')
// ->help('Enter the users that you would like to send this message to.')
// ->fromModel(Contact::class,'name','mobile'),
// TextArea::make('post.description')
// ->title('Enter the message you want to send')
// ->rows(3)
// ->maxlength(200)
// ->placeholder('Currently Flex is Down'),
// Button::make('Send Message')
// ->method('sendMessage')
// ->icon('paper-plane'),
Button::make(' Upload file')
->method('store')
->icon('link')
->icon('folder')
->horizontal(),
])->title('Contacts upload'),
];
}
public function store(Request $request)
{
$validatedData = $request->validate([
'file' => 'required|csv,txt,xlx,xls,pdf|max:4048',
]);
$name = $request->file('file')->getClientOriginalName();
$path = $request->file('file')->store('public/files');
$save = new File;
$save->name = $name;
$save->path = $path;
return Alert::info('You have successfully uploaded a file.');
}
}
this worked public function store(Request $request) {
$request->validate([
'file' => 'required|mimes:png,jpg,jpeg,csv,txt,xlx,xls,pdf|max:2048'
]);
$name = $request->file('file')->getClientOriginalName();
$path = $request->file('file')->store('public/files');
return back()
->with('success','File has uploaded to the database.')
->with('file', $name);
}
Please or to participate in this conversation.