Javascript 如何允许在Dropzone.js失败后重新提交文件上载?
我有一个文件上传表单,它使用Dropzone.js将文件上传到我的服务器。一个用户一次最多可以上传5个文件,但我有一个独特的情况:如果服务器端出现任何单个文件错误(超过最大大小、错误的mime类型、错误的文件类型等),我不需要将任何文件添加到我的数据库中。这不是问题 我遇到的问题是客户端对它的处理。为什么当我从服务器得到响应时,我不能再通过单击“提交”(其元素绑定到事件处理程序,如下所示)再次上传文件Javascript 如何允许在Dropzone.js失败后重新提交文件上载?,javascript,file-upload,dropzone.js,Javascript,File Upload,Dropzone.js,我有一个文件上传表单,它使用Dropzone.js将文件上传到我的服务器。一个用户一次最多可以上传5个文件,但我有一个独特的情况:如果服务器端出现任何单个文件错误(超过最大大小、错误的mime类型、错误的文件类型等),我不需要将任何文件添加到我的数据库中。这不是问题 我遇到的问题是客户端对它的处理。为什么当我从服务器得到响应时,我不能再通过单击“提交”(其元素绑定到事件处理程序,如下所示)再次上传文件 调用processQueue()后,将从Dropzone队列中删除文件。您不能再通过单击“提交
调用
processQueue()
后,将从Dropzone队列中删除文件。您不能再通过单击“提交”上载文件,因为队列中没有文件
您需要在收到响应后将每个文件重新添加到队列中
如果文件服务器端出现错误,最好将响应的状态代码设置为200以外的值,以便覆盖Dropzone错误侦听器
this.on("error", function(file, errorMessage) {
$.each(dropZone.files, function(i, file) {
file.status = Dropzone.QUEUED
});
$.each(message, function(i, item) {
$("#dropzoneErrors .errors ul").append("<li>" + message[i] + "</li>")
});
});
this.on(“错误”,函数(文件,错误消息){
$.each(dropZone.files,函数(i,文件){
file.status=Dropzone.QUEUED
});
$。每个(消息、功能(i、项){
$(“#dropzoneErrors.errors ul”)。追加(“”+消息[i]+“ ”)
});
});
单击“提交”以何种方式失败?什么都没发生吗?你有错误吗?如果没有错误,你能上传更多吗?这个dropbox问题可能会有所帮助,就像我一直在寻找的解决方案一样。非常感谢
this.on("error", function(file, errorMessage) {
$.each(dropZone.files, function(i, file) {
file.status = Dropzone.QUEUED
});
$.each(message, function(i, item) {
$("#dropzoneErrors .errors ul").append("<li>" + message[i] + "</li>")
});
});