当允许用户选择多个文件时,是否可以从要上传的文件列表中删除单个文件?例如,我有一个看起来有点像这样的输入:
<input type = 'file' name = 'file' id = 'file' multiple = 'multiple' />
用户选择4张照片,1.jpg、2.jpg、3.jpg和4.jpg。是否可以删除 4.jpg,因为用户改变了主意并且不想上传那个?
当允许用户选择多个文件时,是否可以从要上传的文件列表中删除单个文件?例如,我有一个看起来有点像这样的输入:
<input type = 'file' name = 'file' id = 'file' multiple = 'multiple' />
用户选择4张照片,1.jpg、2.jpg、3.jpg和4.jpg。是否可以删除 4.jpg,因为用户改变了主意并且不想上传那个?
简短的回答是“不”。不可能从脚本中更改file input
元素的值:否则它将是猛犸象的安全漏洞大小。让我向你保证:一些浏览器(IE,就是关于你的!)在处理文件输入时变得非常挑剔。
但是您可以使用以下方法:让用户上传任意数量的文件(尽管设置一些限制是谨慎的),但将它们放入一些临时存储中。只有当用户真正表达他们希望保存这些文件所附加到的实体时,才将这些文件移动到永久状态。
或者是时候考虑使用一些后备机制、Flash 或类似的东西了。事实上,这样做还有另一个原因:IE8 不支持multiple
文件选择器的属性。