如何.abort()ajax文件上传?

Wab*_*son 4 javascript ajax file-upload

我正在尝试在本文之后进行基于ajax的文件上传,到目前为止,该过程工作正常,但我一直无法找到如何为文件列表实现中止按钮.

本文的核心代码是:

var fileInput = document.getElementById('the-file');
var file = fileInput.files[0];

var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', onprogressHandler, false);
xhr.open('POST', '/upload/uri', true);
xhr.send(file);

function onprogressHandler(evt) {
    var percent = event.loaded/event.total*100;
    console.log('Upload progress: ' + percent + '%');
}
Run Code Online (Sandbox Code Playgroud)

文章提到可以定义一个abort监听器:

xhr.upload.onabort = function (evt) {
    console.log("Aborted", evt);
}
Run Code Online (Sandbox Code Playgroud)

根据MDC abort,在FileReader对象中有一个方法,但我不清楚在这种情况下我应该如何使用它(或者如果它与我正在寻找的"abort"相同).

我想有旁边选择上传的每个文件中止按钮,如果用户点击一个按钮,然后这个文件应该从名单中删除,或者如果它的上传已经开始应立即中止.

Mat*_*ela 8

XMLHttpRequest对象上有一个abort方法.您可以执行以下操作:xhr.abort()这应该中止请求.

  • 为什么不为每个文件执行一个进程?然后他们单独上传而不是排队... var files = $(target)[0] .files; var fileCount = files.length; $ .each(files,function(i){}); (3认同)