使用 angular-file-upload 模块收听 API 响应

Listen to API response using angular-file-upload module

我正在使用 AngulasJs 和 Django 构建一个 WebApp,我目前依赖 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 功能?

在此先感谢您的帮助!

使用 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-upload https://github.com/nervgh/angular-file-upload/wiki/Module-API 的文档,没有定义回调来获得 api 成功答案。回调会在上传完成或失败时触发,但不会在 api 的响应到达时触发。

我想我可以使用 angular-file-upload 以外的其他方法,但自从我开始使用它以来,如果存在这种方法,我更愿意继续使用它。