gpt4 book ai didi

javascript - Dropzone JS 只上传一个文件

转载 作者:行者123 更新时间:2023-12-03 05:35:46 24 4
gpt4 key购买 nike

我在我的一个项目中使用 DropzoneJS。我正在使用 laravel 处理文件上传的后端。我在表单中使用了 div 并向其中添加了 dropzone 类。

<div class="col-md-12 dropzone file_upload"></div>

它工作正常,但只上传了一个文件。我希望它同时上传多个文件。

我已将 dropzone 配置中的 parallelUploads 选项设置为 10,并将 maxFiles 选项设置为 10 .

这是我的 dropzone 配置代码:

$("div.file_upload").dropzone({
url: upload,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
autoProcessQueue: true,
addRemoveLinks: true,
uploadMultiple: true,
params: {
"model_id": 1,
"user_id" : 2
},
maxFiles: 10,
parallelUploads: 10,


});

下面是我的后端代码

Controller.php

public function uploadPhoto(Request $request){

foreach ($request->file('file') as $file) {

$filename = uniqid().'.'.$file->getClientOriginalExtension();
$file->move('images/booking', $filename);

//save details to db
$photo= new InspectionPhotos();
$photo->inspection_id = $request['inspection_id'];
$photo->product_id = $request['product_id'];
$photo->photo_path = $filename;
if($photo->save()){
return response()->json([
'message' => 'OK'
]);
}

}

}

最佳答案

问题出在 Controller.php 中的 return 语句。

保存第一个文件后,函数 uploadPhoto() 返回,永远无法保存第二个文件。

save()函数封装在try-catch中,并在catch block 中返回错误状态,并在前端适本地处理错误。您可能还希望在 try-catch 中使用 $file->move(),因为它也可能会引发错误。

最后,将return语句移出foreach以返回成功状态。

很高兴回答对您有帮助,干杯!

关于javascript - Dropzone JS 只上传一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40738256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com