Express Angular JS文件上载是';“连接多方”无法正确处理

Express Angular JS文件上载是';“连接多方”无法正确处理,express,Express,在过去的几个小时里,我一直在胡思乱想,我希望这里有人能帮我。我有一个角度的应用程序,它正在使用,无论我尝试什么,我似乎都无法从另一端取出文件 我确实在Chrome开发者工具中看到了正确的请求负载: ------WebKitFormBoundaryEwG0XOfjS0IjwRji Content-Disposition: form-data; name="file"; filename="images.png" Content-Type: im

在过去的几个小时里,我一直在胡思乱想,我希望这里有人能帮我。我有一个角度的应用程序,它正在使用,无论我尝试什么,我似乎都无法从另一端取出文件

我确实在Chrome开发者工具中看到了正确的请求负载:

  ------WebKitFormBoundaryEwG0XOfjS0IjwRji
  Content-Disposition: form-data; name="file"; filename="images.png"
   Content-Type: image/png


------WebKitFormBoundaryEwG0XOfjS0IjwRji-
我在服务器端的代码如下所示,我使用的路由器使用的是connect multiparty

Router.js:

router.post('/api/v1/uploaddocument', multipartyMiddleware, UserFunctions.saveDocument);
实际保存文档功能:

saveDocument: function(req,res)
{   
 console.log(req.body, req.files, req.data, req.file)     
}
在angular中发布此消息的控制器是:

iSelectClient.controller('PageUploadDocumentCtrl', ['$scope', 'Upload', function ($scope, Upload) {
    $scope.$watch('files', function () {
        $scope.upload($scope.files);
    });

    $scope.upload = function (files) {
        if (files && files.length) {
            for (var i = 0; i < files.length; i++) {
                var file = files[i];
                Upload.upload({
                    url: 'http://localhost:3000/api/v1/uploaddocument',
                    fields: {'username': $scope.username},
                    file: file
                }).progress(function (evt) {
                    var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                    console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
                }).success(function (data, status, headers, config) {
                    console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
                });
            }
        }
    };
}]);
iSelectClient.controller('PageUploadDocumentCtrl',['$scope','Upload',函数($scope,Upload){
$scope.$watch('files',function(){
$scope.upload($scope.files);
});
$scope.upload=函数(文件){
if(files&&files.length){
对于(var i=0;i
我不是在服务器端使用app.use(bodyparser()),而是为每个路由定义要使用的解析器

那会是什么

编辑
我在每次调用中都有一个拦截器,它将应用程序类型设置为json,因此它从未正确到达另一端。现在修复了,使用与下面完全相同的设置

我在每次调用中都有一个拦截器,它将应用程序类型设置为json,因此它从未正确到达另一端。现在已修复,使用与下面完全相同的设置