Actions\Action::make('upload')
->label('Upload a document')
->form([
Hidden::make('name'),
Hidden::make('mime'),
FileUpload::make('path')
->directory('uploads')
->visibility('public')
->getUploadedFileNameForStorageUsing(
fn(TemporaryUploadedFile $file) => sprintf('file_%s.%s', Str::random(), $file->getClientOriginalExtension())
)
->afterStateUpdated(function ($state, Set $set) {
if ($state instanceof TemporaryUploadedFile) {
$set('name', $state->getClientOriginalName());
$set('mime', $state->getMimeType());
}
})
->columnSpanFull(),
])
->modalSubmitActionLabel('Create')
->action(function ($data) {
$document = Document::create([
'user_id' => Auth::id(),
'path' => $data['path'],
'mime' => $data['mime'],
'name' => $data['name'],
]);
// do whatever
});
Actions\Action::make('upload')
->label('Upload a document')
->form([
Hidden::make('name'),
Hidden::make('mime'),
FileUpload::make('path')
->directory('uploads')
->visibility('public')
->getUploadedFileNameForStorageUsing(
fn(TemporaryUploadedFile $file) => sprintf('file_%s.%s', Str::random(), $file->getClientOriginalExtension())
)
->afterStateUpdated(function ($state, Set $set) {
if ($state instanceof TemporaryUploadedFile) {
$set('name', $state->getClientOriginalName());
$set('mime', $state->getMimeType());
}
})
->columnSpanFull(),
])
->modalSubmitActionLabel('Create')
->action(function ($data) {
$document = Document::create([
'user_id' => Auth::id(),
'path' => $data['path'],
'mime' => $data['mime'],
'name' => $data['name'],
]);
// do whatever
});