使用jquery文件上传取消单个文件

时间:2013-04-02 22:37:56

标签: jquery file-upload blueimp

我想使用jquery文件上传插件取消单个文件。我想用核心插件来做,不需要所有UI的东西。

在我的本地文件系统上选择文件之后,文件位于哪里?

3 个答案:

答案 0 :(得分:7)

我在我的项目中这样做:为每个文件添加上传和取消按钮

$('#TestForm').fileupload({
         dataType : 'json',
         autoUpload : false,
         add : function(e, data) {
             var file=data.files[0];
             var vOutput="";
             vOutput+="<tr><td>"+file.name+"</td>"
             vOutput+="<td><input type='button' class='fileUpload' value='upload'></td>"
             vOutput+="<td><input type='button' class='fileCancel' value='cancel'></td></tr>"
             $("#TestTable").append(vOutput)
             $(".fileUpload").eq(-1).on("click",function(){
                  data.submit();
             })
             $(".fileCancel").eq(-1).on("click",function(){
                  $(this).parent().parent().remove()
             })
         }
})

如果你想要,你也可以添加按钮来上传或取消所有文件:

    $("#fileUploadAll").on("click", function() {
        $(".fileUpload").click(); // click all upload buttons
    })
    $("#fileCancelAll").on("click", function() {
        $(".fileCancel").click(); //click all cancel buttons
    })

HTML:

<form id='TestForm'>
     <input type="file" id="FileSelect" name="files[]" data-url="yourURL.php" multiple/>
     <input type="button" value="upload all" id="fileUploadAll"/>
     <input type="button" value="cancel all" id="fileCancelAll"/>
     <table id='TestTable'></table>
</form>

答案 1 :(得分:1)

如果您不想覆盖添加方法,请在此处提及另一个选项:Add cancel upload or abort functionality to bootstrap multiple file upload plugin

$('#fileupload').bind('fileuploadadd', function(e, data){
  var jqXHR = data.submit(); // Catching the upload process of every file
  $('#cancel_all').on('click',function(e){
        jqXHR.abort();
  });
});

它使用从submit方法返回的jqXHR对象。只是不要忘记关闭autoupload设置。如果您不想取消所有上传,请务必将click事件附加到该文件的相应元素。

答案 2 :(得分:0)

我有一个案例,我们需要运行检查以查看服务器上是否已存在所选文件,并提供覆盖它的选项。如果用户选择不覆盖该文件,那么我们不希望将文件上传到服务器,但是如果他们改变主意,请将其保留在队列中,即不要删除整个tr。

要完成此操作,您只需将disabled属性添加到要阻止上传的tr中的开始按钮即可。 jQuery fileupload将正常流失队列,并忽略任何具有禁用启动按钮的行。