首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html5文件输入能记住前面选择的文件吗?

html5文件输入能记住前面选择的文件吗?
EN

Stack Overflow用户
提问于 2015-06-19 10:22:19
回答 1查看 2.4K关注 0票数 1

我正在尝试创建一个AJAX多上传,它将在表单/文件输入中获取所有选定的文件,并通过我的AJAX控制器上传。对于这个过程,我使用了jQuery (1.11.3)和jQuery插件。

除了一个非常烦人的问题之外,一切都正常工作;当用户选择两个文件并输入文件,然后再选择另外几个文件时,前面选择的文件将从"files[]“数组中删除。以下是我的HTML5文件输入:

代码语言:javascript
复制
<input id="multi-upload" type="file" name="files[]" multiple>

我的问题基本上是,是否有可能只是附加新选择的文件,而不是覆盖旧的"files[]“。

我试图通过在我的JavaScript中创建一个数组来解决这种情况,这将在文件输入更改时将数组中的新文件推入数组中,但这只会导致接收“blob”错误,因为直接通过AJAX发送文件并不是很好,不幸的是。

因此,我所知道的唯一可行的方法是发送表单数据,并通过我的Controller获取$_FILES参数,这使我回到了上面描述的问题。

我想一种方法是在文件输入改变后立即上传文件,但是由于人们应该能够编辑他们的文件的名称,并且能够取消被上传的文件,这是非常不理想的。

所以我的问题是:是否可以让新文件被附加到文件输入而不是文件输入完全被覆盖,或者是否有其他方法来达到这种目标?

我很抱歉,如果有一个类似的问题隐藏在某处,但我一直未能找到任何答案,自己已经得到了正确的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-19 10:30:41

正如我在评论中提到的,您可以在用户每次选择文件时创建一个新的输入.

Jquery示例:

代码语言:javascript
复制
$(document).on('change','input[type="file"][multiple]',function(){
   var $this = $(this);
   $this.clone().insertAfter($this);
   $this.hide();
});

当然,您不必使用jQuery,但这只是解释我的意思的最简单的方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30935744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档