![](/img/trans.png)
[英]How to remove and object property from all array object and and pass by api
[英]How to remove a property from a File-API object in JavaScript?
我正在使用JavaScript“文件”api来读取有关将要上传的图像的信息,以便在实际上传发生之前根据此处的演示( JavaScript文件api )生成预览缩略图。
使用具有“多个”属性的文件输入,可以同时选择一个或多个文件,如下所示: <input type="file" id="imageFiles" name="userfile[]" multiple />
一旦用户选择了图像,我用firebug检查元素,我可以在DOM中看到“files”对象包含有关所选每个图像的信息。
“文件”对象将包含与选择文件一样多的属性,每个属性都包含有关每个图像的信息。 我只能将“文件”对象描述为关联数组,因为每个属性本身就是一个对象。
我想要做的是能够从“文件”对象中删除给定的属性,从而删除将要上传的图像之一,而无需再次选择图像。
到目前为止,这是我尝试过的,它不起作用:
var getAllFiles = document.getElementById('imageFiles');
var allImages = getAllFiles.files; // returns an object with X properties
delete allImages[X]; // "X" is whatever property key I'm passing in
我已经尝试了“splice()”方法,但它也不起作用。
非常感谢你。
.files
是只读的,因此您无法修改它。 您可以将文件本身提取到一个数组,但是你不能使用普通的表单上传,你需要通过二进制XHR上传它们
您可以使用以下方法将文件解压缩到普通数组:
var files = [].slice.call( this.files );
files.splice( 1, 1 ); //whatever works for normal array
您也可以在输入中首先放置accept="image/*"
:
<input type="file" id="imageFiles" accept="image/*" name="userfile[]" multiple />
我认为你理解这些在IE或没有文件API的任何其他浏览器中都不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.