【问题标题】:Remove Individual Files When Multiple FIles Are Selected With File Input使用文件输入选择多个文件时删除单个文件
【发布时间】:2012-06-23 21:16:28
【问题描述】:

当允许用户选择多个文件时,是否可以从要上传的文件列表中删除单个文件?例如,我有一个看起来有点像这样的输入:

<input type = 'file' name = 'file' id = 'file' multiple = 'multiple' />

并且用户选择了4张照片,1.jpg、2.jpg、3.jpg和4.jpg。是否可以删除 4.jpg,因为用户改变了主意不想上传那个?

【问题讨论】:

  • 您说的是使用Javascript,对吗?如果是这种情况,您应该将其标记为(我不知道其他处理方式)。
  • 对不起,通过什么用户操作删除?如果他再次单击该输入控件,他可能只是再次选择文件列表。
  • 请注意,浏览器通常对 input=file 控制值中 JavaScript 可能实际更改的内容非常严格。
  • imgdiode.com/MiB9QK 点击红色“x”时文件应该被删除。
  • 这里的文件名怎么写?这些文件是否已经上传?

标签: javascript html file


【解决方案1】:

简短的回答就是“不”。 It's not possible 从脚本中更改 file input 元素的值:否则它将是猛犸象的安全漏洞大小。让我向你保证:一些浏览器(IE,这就是你的问题!)在处理文件输入时变得非常挑剔。

但是您可以使用以下方法:让用户上传任意数量的文件(尽管设置一些限制是谨慎的做法),但将它们放入一些临时存储中。只有当用户真正表达他们希望保存这些文件所附加到的实体时,才将这些文件移动到永久状态。

或者是时候考虑使用一些后备机制、Flash 或类似的东西了。其实这样做还有一个原因:IE8 不支持文件选择器上的multiple 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2019-04-28
    • 2015-11-10
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多