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

时间:2011-06-22 13:47:41

标签: javascript ajax file-upload

我正在尝试在this article之后上传基于ajax的文件,到目前为止,该过程工作正常,但我一直无法找到如何为文件列表实现中止按钮。< / p>

文章中的核心代码是:

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 + '%');
}

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

xhr.upload.onabort = function (evt) {
    console.log("Aborted", evt);
}

根据MDC,FileReader object中有一个abort方法,但我不清楚在这种情况下我应该如何使用它(或者如果它与我是相同的“中止”寻找所有)。

我想要的是每个选择上传的文件旁边的中止按钮,如果用户点击按钮,那么该文件应该从列表中删除,或者如果上传已经开始,则应该立即中止

1 个答案:

答案 0 :(得分:7)

XMLHttpRequest对象上有abort method。 您可以执行以下操作:xhr.abort()并且应该中止请求。