gpt4 book ai didi

javascript - 如何在运行时从上传列表中跳过或删除某些文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:46:58 24 4
gpt4 key购买 nike

我正在使用 blueimp 插件 https://github.com/blueimp/jQuery-File-Upload/wiki/API

我需要在运行时从队列中删除一些文件。

当服务器的状态代码 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查找删除该文件

注意:(请注意)我没有使用插件提供的任何ui(取消、更新、裁剪图像、缩略图)

创建了用于实验的 fiddle :http://jsfiddle.net/ChJ9B/219/

请帮我解决这个问题。

提前致谢!!!!

最佳答案

您可以使用.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();
}
});

附注我没有运行代码,只是分享想法。

关于javascript - 如何在运行时从上传列表中跳过或删除某些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51089077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com