No-one can help ? :(
Mar 26, 2021
9
Level 4
Laravel filepond multi images upload
Hello
Using filepond for uploading files.
Have filed where uploading multi images
<form method="POST" action="{{route('store')}}" enctype="multipart/form-data">
@csrf
<input id="photos" name="image[]" type="file"
multiple
data-allow-reorder="true"
data-max-file-size="3MB"
data-max-files="3"
>
<button type="submit" class="btn btn-success float-right">Add </button>
</form>
<script>
FilePond.registerPlugin(FilePondPluginImagePreview);
const inputElement = document.querySelector('input[id="photos"]');
const pond = FilePond.create( inputElement );
FilePond.setOptions({
server:{
url: '/photo',
process: '/uploads',
revert: '/delete',
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}
}
});
</script>
Route::post('/photo/uploads', [App\Http\Controllers\PhotoController::class, 'uploads']);
Route::delete('/photo/delete', [App\Http\Controllers\PhotoController::class, 'delete']);
Route::delete('/photo/add', [App\Http\Controllers\PhotoController::class, 'store']);
When attaching photo this function works creating folder with image and returns full path (https://ibb.co/QCXwJ57)
public function uploads(Request $request)
{
if($request->hasFile('image')){
$files = $request->file('image');
foreach ($files as $file) {
$filename = $file->getClientOriginalName();
$folder = uniqid();
$file->move("uploads/tmp/" . $folder,$filename);
$url = "uploads/tmp/" . $folder . "/" . $filename;
return $url;
}
}
return '';
}
Now I want store this path in DB. But can not catch response path to save it
public function store(Request $request)
{
foreach ($request->image as $file) {
TemporaryFile::create([
'source'=> $file,
]);
}
}
getting error 'source' is null
Please or to participate in this conversation.