我需要检查文件是否具有有效的 MIME 类型,文件大小是否正常以及尺寸是否正常,然后上传文件。
所以当一切正常时,我可以使用:
complete: function(file){
// do something here.
}
但是如果文件的大小无效怎么办?在我的 PHP 脚本中,我返回一条错误消息:
return json_encode(['error' => 'size is invalid']);
或者
return Response::json(['error' => 'size is invalid'], 500 ];
// this is Laravel 4 syntax. returns a json array and 500 as status code.
但是我该如何处理 DropzoneJS 中的
error
呢?我尝试向
complete()
函数添加第二个参数,但它不起作用。complete: function(file, response){
console.log( response ); // this does not work.
}
最佳答案
要在文件提交到服务器后获得响应,请在 DropzoneJS 中使用它:
success: function(file, response) {
alert(response);
}
并在上传之前验证文件,请使用:
complete: function(file) {
if (file.size > 3.5*1024*1024) {
alert("File was Larger than 3.5Mb!");
return false;
}
if(!file.type.match('image.*')) {
alert("Upload Image Only!");
return false;
}
}
如果您的服务器在
response
中返回 JSON
,则您需要在 JSON.parse
之前使用 alert
。希望能帮到你!干杯! :)