当多个文件被挑选<input type="file" multiple/>
是可以跟踪每上传单个文件,而不只是所有文件的总长度一起,浏览器给我们的信息?是否可以从输入中提取文件对象并为每个文件创建输入,然后分别上传?我已经尝试过了,但是出于安全原因,input.files数组已被锁定,但是它们可以使我们能够处理单个文件,而无需赋予我们更改路径或任何其他属性的能力。
我想要一个不是链接到某些第三方库的答案,我想自己学习并制作一个。
基本上,当我处理时<input type="file" multiple/>
,我总是将文件存储在另一个数组中以进行进一步的工作,例如删除特定文件。
var UploadFiles = [];
$('#input').on('change',function(){
var files = this.files; // get files from input
UploadFiles = files.slice(0) // storage files in UploadFiles array
})
然后,通过AJAX分别上传文件
// initialize your progress bar
$.each(UploadFiles,function(){
let uploadFile = new FormData()
uploadFile.append('file', this)
$.ajax({
// some parameters...
, beforeSend: function(){
// some code...
// setting progress bar percentage as you want
}
, success: function(){
// some code...
// setting progress bar percentage as you want
}
}).done(function(){
// some code...
// setting progress bar percentage as you want
})
})
// setting progress bar to 100%
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句