1

我正在使用 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 功能?

提前感谢您的帮助!

4

2 回答 2

1

使用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){
});
于 2015-12-06T11:46:04.023 回答
0

谢谢回答。

我可能不理解您的回复,但在我看来,使用 angular-file-upload 时我无法使用此类回调。

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

我想我可以使用除 angular-file-upload 之外的其他方式,但由于我开始使用它,如果存在方法,我更愿意继续使用它。

于 2015-12-06T12:41:39.123 回答