我使用dropzone.js将文件上传到服务器。然后,服务器会以文件ID和新文件名作为响应来进行删除。
我找到了这个解决方案。
Deleting renamed file on server using Dropzone.js
但是当我使用uploadMultiple:true
选项时,它会发送多个文件
一个请求。因此,我在所有成功回调中都得到相同的响应,如何在每个成功回调中接收适当的JSON响应?
Dropzone.options.dropzone1 = {
paramName: "file",
uploadMultiple:true,
success: function( file, response ) {
//this callback will run twice
console.log(response) //same response in each callback
}
}
$ret = array();
array_push($ret,array('id' => $id1,'filename' => $newfilename1));
array_push($ret,array('id' => $id2,'filename' => $newfilename2));
echo json_encode($ret);
答案 0 :(得分:0)
使用uploadMultiple: true
时,您仅向服务器发送一个请求(包含两个文件)。因为您只发送一个请求,所以您只会得到一个响应。这是您在每个文件的成功回调中看到的响应。
注意:对于队列中的每个文件,将调用success
,而当successmultiple
时,将对所有文件调用uploadMultiple: true
。
要为每个文件获得一个JSON响应,请设置uploadMultiple: false
(或将其删除,因为默认情况下为false
)。
uploadMultiple
仅告诉Dropzone实例是否将所有文件粘贴在单个请求中。它并不限制同时上传多个文件的能力(它们只是在每个文件的单个请求中完成)。