我正在使用blueimp plugin
https://github.com/blueimp/jQuery-File-Upload/wiki/API
我需要在运行时从队列中删除一些文件。
从服务器状态为code 17
(文件已退出)时,应删除该特定文件。
这是我到目前为止一直没有成功的尝试。
$('#fileupload').fileupload({
url: 'url.php',
maxChunkSize: 65536, // 120 KB,
maxRetries: 10,
dataType: 'json',
multipart: false,
sequentialUploads: true,
add:function(){........},
done:function(){........}
}).on('fileuploadchunkdone', function (e, data) {
if(data.result.status == 17){
var currentFileObject = data.files[0];
var index = data.originalFiles.indexOf(currentFileObject); // find index in originalFiles
data.originalFiles.splice(0,index);
//data.files.length = 0; // if i uncomment this line some error will come, like undefined fileName
data.submit();
}
});
我正在finding
中通过data.originalFiles
删除文件
注意:(请注意),我没有使用任何ui provided by plugin (cancel, update, crop image, thumbnail)
等
为实验创建了小提琴:http://jsfiddle.net/ChJ9B/219/
请帮助我解决这个问题。
谢谢!!!!
答案 0 :(得分:1)
您可以使用pylint
方法来取消文件的上传。
根据您的情况,您可以将所有文件上传请求保存到一个对象,然后中止特定的对象。
.abort()
,然后在filesList.forEach(function(elm) {
jqXHR[elm.name] = $('#fileupload').fileupload('send', {files: elm});// you should save some id or timestamp
});
事件的回调中,您可以查找文件的名称,然后从fileuploadchuckdone
对象中退出。
jqXHR
P.S。我没有运行代码,只是分享想法。
答案 1 :(得分:-1)
您应该只致电data.abort();
就可以了。
或者您也可以致电data.context.remove()