为了账号安全,请及时绑定邮箱和手机立即绑定

如何从输入文件控件中删除一个特定的选定文件

如何从输入文件控件中删除一个特定的选定文件

暮色呼如 2019-10-19 16:38:45
如何从输入文件控件中删除一个特定的选定文件?我有一个输入文件控件,可以选择多个文件;但是,我想验证文件,如果扩展名错误,则应该从文件控件本身中删除该文件,这可能吗?我尝试如下<input type="file" name="fileToUpload" id="fileToUpload" multiple/><script> $("#fileToUpload")[0].files[0] </script>以下是该对象的屏幕截图,但我无法对其进行修改
查看完整描述

3 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

我认为我也应该在这里添加评论(我已经在这里回答:JavaScript从FileList删除要上传的文件)


我找到了解决方法。完全不需要AJAX进行请求,并且可以将表单发送到服务器。基本上,您可以创建一个hidden或text输入,并将其value属性设置为在处理所选文件后创建的base64字符串。


<input type=hidden value=${base64string} />

您可能会考虑创建多个输入文件(而不是input text或)的想法hidden。这将无法正常工作,因为我们无法为其分配值。


此方法会将输入文件包含在发送到数据库的数据中,并且可以忽略输入文件:


在后端不考虑该领域;

您可以disabled在序列化表单之前将属性设置为输入文件;

发送数据之前,请删除DOM元素。

当您要删除文件时,只需获取元素的索引,然后从DOM中删除输入元素(文本或隐藏)。


要求:


您需要编写逻辑以在输入文件触发change事件时在base64中转换文件并将所有文件存储在数组中。

优点:


基本上,这将为您提供很多控制,并且您可以筛选,比较文件,检查文件大小,MIME类型等等。


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 718 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信