编辑,更新
如何删除上传变量中的特定项目?
如果预期结果是文件对象数组,则将调整从原始
files对象拼接数组项的方法-并发送已拼接的数组作为上载-而不是尝试从原始
files对象“删除”项并仍然上传原始
files对象。
FileList对象没有
.splice()method。尝试利用
.slice(),
.call()以转换
files到
Array,则调用
.splice()方法的上阵列
File对象,例如;
// `_files` : `File` object items from original `files` `FileList`// call `.splice()` on items that would be uploaded ,// upload `_files` array - _not_ original `files` `FileList` object// e.g.; `_files`:`File` objects to _keep_ not "delete" from `files`var idstokeep = [0, 2]; // splice , keep first `2` files var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]);
或者,利用
项目()
返回表示文件列表中指定索引处的文件的File对象。
返回特定
index范围内的文件
FileList
var files = e.target.files; // return `file` at `index` `1` var firstFile = files.item(1);
var upload = document.getElementById("file1");upload.onchange = function(e) { var files = e.target.files; // https://developer.mozilla.org/en-US/docs/Web/API/FileList#item var firstFile = files.item(1); var idstokeep = [0, 2]; // keep first `2` files from `multiple` selection var _files = Array.prototype.slice.call(files).splice(idstokeep[0], idstokeep[1]); console.log(files, files.length , _files, _files.length , firstFile);};<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><input id="file1" name="uploadedimages[]" type='file' multiple/>


