Прослушайте ответ API с помощью модуля angular-file-upload

Я создаю WebApp, используя AngulasJs и Django, и в настоящее время я полагаюсь на angular-file-upload для загрузки изображения в мой API следующим образом:

var uploader = $scope.uploader = new FileUploader({ 
                   url: 'http://localhost:8000/image', 
                   headers: { 'X-CSRFToken': $('input[name="csrfmiddlewaretoken"]').attr('value')
                            }, 
               }); 

Файлы загружаются нормально, но тогда я не смог понять, как получить ответ от API (некоторые данные, которые мне нужно вставить в мой HTML). Сначала я предположил, что смогу зарегистрировать какого-нибудь слушателя с помощью модуля angular-file-upload, но я не нашел ничего, что позволило бы мне это сделать.

Предоставляет ли модуль angular-file-upload способ сделать это или мне нужно полагаться на другие функции angularjs?

Заранее благодарю за любую помощь!

2 ответа

Решение

Используя https://www.npmjs.com/package/angular-file-upload-shim, вы можете объявить функции обратного вызова следующим образом:

$scope.upload = $upload.upload({
    url: 'rs/medias/upload',
    method: 'POST',
    file: file 
}).progress(function (evt) {
}).success(function (data, status, headers, config) {
})
.error(function (data, status, headers, config){
});

Спасибо за ответы.

Возможно, я не понимаю ваш ответ, но мне кажется, что такие обратные вызовы мне недоступны при использовании angular-file-upload.

Согласно документации по загрузке angular-file https://github.com/nervgh/angular-file-upload/wiki/Module-API, для получения ответа api об успехе не определены обратные вызовы. Обратные вызовы запускаются либо когда загрузка завершена, либо не удалась, но не при получении ответа API.

Думаю, я мог бы использовать другой способ, кроме как с angular-file-upload, но, поскольку я начал с него, я бы предпочел продолжить, если такой способ существует.

Другие вопросы по тегам