如何在 运行 时间从上传列表中跳过或删除某些文件
How to skip or remove some file at run time from uploading list
我正在使用 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();
}
});
我正在 删除 data.originalFiles
finding
中的文件
注意:(请注意)我没有使用任何ui provided by plugin (cancel, update, crop image, thumbnail)
等
已创建 fiddle 用于实验:http://jsfiddle.net/ChJ9B/219/
请帮我解决这个问题。
提前致谢!!!!
你应该只调用 data.abort();
它应该完成工作。
或者您也可以拨打data.context.remove()
您可以使用.abort()
方法取消上传文件。
在您的情况下,您可以将所有文件上传请求保存到一个对象,然后中止特定的请求。
filesList.forEach(function(elm) {
jqXHR[elm.name] = $('#fileupload').fileupload('send', {files: elm});// you should save some id or timestamp
});
然后在 fileuploadchuckdone
事件的回调中,您可以查找文件的名称,然后从 jqXHR
对象中止。
function (e, data) {
if(data.result.status == 17){
var currentFileName = data.files[0].name; // read the name somehow?
jqXHRMap[currentFileName].abort();
}
});
P.S。我没有 运行 代码,只是分享想法。
我正在使用 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();
}
});
我正在 删除 data.originalFiles
finding
中的文件
注意:(请注意)我没有使用任何ui provided by plugin (cancel, update, crop image, thumbnail)
等
已创建 fiddle 用于实验:http://jsfiddle.net/ChJ9B/219/
请帮我解决这个问题。
提前致谢!!!!
你应该只调用 data.abort();
它应该完成工作。
或者您也可以拨打data.context.remove()
您可以使用.abort()
方法取消上传文件。
在您的情况下,您可以将所有文件上传请求保存到一个对象,然后中止特定的请求。
filesList.forEach(function(elm) {
jqXHR[elm.name] = $('#fileupload').fileupload('send', {files: elm});// you should save some id or timestamp
});
然后在 fileuploadchuckdone
事件的回调中,您可以查找文件的名称,然后从 jqXHR
对象中止。
function (e, data) {
if(data.result.status == 17){
var currentFileName = data.files[0].name; // read the name somehow?
jqXHRMap[currentFileName].abort();
}
});
P.S。我没有 运行 代码,只是分享想法。