Как загрузить .abort () файл ajax? - PullRequest
4 голосов
/ 22 июня 2011

Я экспериментирую с загрузкой файлов на основе ajax, следуя этой статье , и пока процесс работает нормально, но я не смог найти, как я могу реализовать кнопку отмены для файлаlist.

Основной код в статье:

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 есть метод abort, но мне неясно, как мне использовать его в этом случае (или если это тот же самый "прерывание", которое я ищувообще).

Мне бы хотелось, чтобы рядом с каждым файлом, выбранным для загрузки, была кнопка отмены, и если пользователь нажимает кнопку, этот файл следует удалить из списка или если его загрузка имеетбыло начато немедленно прервано.

1 Ответ

8 голосов
/ 22 июня 2011

В объекте XMLHttpRequest есть метод прерывания . Вы можете сделать следующее: xhr.abort(), и это должно прервать запрос.

...