使用 Angular $resource 上传文件

Posted

技术标签:

【中文标题】使用 Angular $resource 上传文件【英文标题】:Upload file using Angular $resource 【发布时间】:2016-10-13 20:18:02 【问题描述】:

我正在尝试使用 angular $resource 上传文件,我可以点击 Api,但请求没有任何文件。我也尝试过这里的解决方案:AngularJS: Upload files using $resource (solution)

我的控制器:

                        var formData = new FormData();
                        formData.append('file', $scope.file);
                        appService.manualDataUpload(formData)
                            .then(function (response) 
                              //do something here
                            )
                            .catch(function (error) 
                                logger.error('An error occurred while uploading the file !', error);
                            );

我的工厂服务:

function manualDataUpload(formData) 
            var /** @type angular.Resource */
            manualDataUploadResource = $resource(serviceBase + '/ManualDataUpload', formData,
                
                    save: 
                        method: 'POST',
                        transformRequest: angular.identity,
                        headers: 
                            'Content-Type': undefined
                        
                    
                );

            return manualDataUploadResource
                .save()
                .$promise;
        

【问题讨论】:

【参考方案1】:

从 $resource 中删除 formData 并添加到正文中。

function manualDataUpload(formData) 
            var /** @type angular.Resource */
            manualDataUploadResource = $resource(serviceBase + '/ManualDataUpload', ,
                
                    save: 
                        method: 'POST',
                        transformRequest: angular.identity,
                        headers: 
                            'Content-Type': undefined
                        
                    
                );

            return manualDataUploadResource
                .save(formData)
                .$promise;
        

【讨论】:

以上是关于使用 Angular $resource 上传文件的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS:使用 $resource 上传文件(解决方案)

在 Angular 5 中使用文件上传保存 FormData

如何使用angular-file-upload(nervgh / angular-file-upload)重新上传同一个文件两次

使用 Angular2 将文件上传到 REST API

Angular中文社区angular 怎么上传文件

使用 Angular 和 php 选择文件、裁剪和上传