jquery - 如何清除 blueimp 的 jquery-fileupload 插件中先前选择的文件?

标签 jquery file-upload

我正在使用jQuery-File-Upload异步上传文件。 但是,我发现添加文件按钮每次选择时都会不断添加文件。

例如,首先我选择File1.txt并单击山顶。然后第二次,我添加 File2.txt 并且所选文件将是 File1.txtFile2.txt !所以当我点击提交时,第二次我将上传两个文件!

我想知道如何访问文件上传插件存储要提交的文件的变量,以便我可以清空

中的变量
    done: function(e, result){
        ....
    }

我知道有一个change回调,但是收到的change回调(data.files)只包含这次选择的文件,而不是整个文件列表提交。

我还没解决这个问题,我发现我的情况和this POST一样 与 this 相同

然而,没有人找到令人满意的答案。尽管有一些解决方法的技巧。

最佳答案

我遇到了类似的问题,以前上传的文件包含在下一次上传中。就像你已经挣扎了几个小时一样。直到我尝试了以下解决方案。

在添加功能上只需添加文件输入元素的“更改”事件,如下所示:

$('#YourFileUploadElementId').change(function(e) {
     data.files.splice(0); // Clear All Existing Files
});

完整示例如下:

$('#YourFileUploadElementId').fileupload({
    // Some options
    add: function (e, data) {
        $('#YourFileUploadElementId').change(function(e) {
          data.files.splice(0); // Clear All Existing Files
        });
    },
    // Other Events
 });

注意:只需将 YourFileUploadElementId 更改为您的文件上传元素 ID。

这是 jsfiddle.net 上的完整示例

http://jsfiddle.net/dustapplication/cjodz2ma/5/

关于jquery - 如何清除 blueimp 的 jquery-fileupload 插件中先前选择的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21176756/

相关文章:

javascript - Highcharts : plot line and plot click event

jquery - 检查页面加载时的输入字段?

javascript - 使用 jquery/ajax 提交循环表单?

带有 CRC 校验的 ASP.Net 文件上传

swift - 如何使用适用于 iOS 应用程序的 vapor 3 上传模型文件

.net - 大文件 (30Mb+) 通过 Internet 上传,有什么更好的选择?

javascript - 如何获取数组中 sibling 的id?

javascript - 基于浏览器窗口的缩放控制媒体查询

c# - 如何使用 C# HttpClient PostAsync 显示上传进度

angularjs - 使用 ngResource 在 AngularJS 中设置 enctype