use*_*732 2 javascript dropzone.js
是否有可能使用dropzone.js逐个上传多个文件.以下是自定义dropzone配置脚本.
Dropzone.options.myDropzone = {
autoProcessQueue: false,
parallelUploads: 10,
addRemoveLinks:true,
init: function () {
var submitButton = document.querySelector("#submit-all");
myDropzone = this; // closure
submitButton.addEventListener("click", function () {
if(myDropzone.getQueuedFiles().length === 0)
{
alert("Please drop or select file to upload !!!");
}
else{
myDropzone.processQueue(); // Tell Dropzone to process all queued files.
}
});
},
url: "upload.php"
};
Run Code Online (Sandbox Code Playgroud)
现在,它一次上传所有文件,这些文件都在进程队列中.由于上传文件大小会更大,所有文件都必须逐个上传.请帮忙缩短相同的内容.
我用它来逐个上传文件.希望这可以帮助.如果您想根据您的功能获取完整代码,请告诉我们.
当客户确认上传文件时,将调用startUpload().
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("#uploadModal", {
url: "upload.php",
paramName: "file_upload",
maxFilesize: 1024,
maxFiles: 200,
autoProcessQueue: false
});
function startUpload(){
for (var i = 0; i < myDropzone.getAcceptedFiles().length; i++) {
myDropzone.processFile(myDropzone.getAcceptedFiles()[i]);
}
}
myDropzone.on('success', function(file, result) {
try {
result = JSON.parse(result)
if (!result.error) {
if(myDropzone.getQueuedFiles().length === 0 && myDropzone.getUploadingFiles().length === 0){
$("#uploadModal"). modal('hide');
myDropzone.removeAllFiles(true) ;
}
}
//TODO -
} catch (e) {
//TODO -
}
});
Run Code Online (Sandbox Code Playgroud)
小智 6
您需要将autoProcessQueue设置为true并将parallelUploads 设置为1。
将 autoProcessQueue 设置为 true 会告诉 dropzone 自动处理队列。将 parallelUploads 设置为 1 会告诉 dropzone 一次只从队列中上传一个文件。
Dropzone.options.myDropzone = {
autoProcessQueue: true,
parallelUploads: 1,
addRemoveLinks:true,
init: function () {
var submitButton = document.querySelector("#submit-all");
myDropzone = this; // closure
submitButton.addEventListener("click", function () {
if(myDropzone.getQueuedFiles().length === 0)
{
alert("Please drop or select file to upload !!!");
}
else{
myDropzone.processQueue(); // Tell Dropzone to process all queued files.
}
});
},
url: "upload.php"
};
Run Code Online (Sandbox Code Playgroud)