Прослушайте ответ 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, но, поскольку я начал с него, я бы предпочел продолжить, если такой способ существует.