Javascript 文件上载不适用于Angular和Node.JS

Javascript 文件上载不适用于Angular和Node.JS,javascript,angularjs,node.js,ng-file-upload,Javascript,Angularjs,Node.js,Ng File Upload,我在使用Angular ng文件上传模块和Node.js服务器进行文件上传时遇到问题。在示例中,它说我应该能够通过“file”或“files”属性(req.file或req.files)访问客户端请求中遇到的文件。但是,请求时这些属性是“未定义的”,我在客户端请求中找不到文件的跟踪 我的客户端代码如下所示: $scope.addFiles = function(files){ console.log(files); $scope.information.files

我在使用Angular ng文件上传模块和Node.js服务器进行文件上传时遇到问题。在示例中,它说我应该能够通过“file”或“files”属性(req.file或req.files)访问客户端请求中遇到的文件。但是,请求时这些属性是“未定义的”,我在客户端请求中找不到文件的跟踪

我的客户端代码如下所示:

$scope.addFiles = function(files){
        console.log(files);
        $scope.information.files = files;
            Upload.upload({
                url: 'http://www.uploadURL.com/uploadFiles',
                file: files
            }).progress(function(evt){
                console.log('progress: ' + parseInt(100.0 * evt.loaded / evt.total) + '% file :'+ evt.config.file.name);
            }).success(function(data, status){
                console.log('data '+ data);
                console.log('status '+status);
            }).error(function(data, status){
                console.log('bad data '+ data);
                console.log('bad status '+ data);
            });
        }
    };
<button class="btn btn-primary btn-lg btn-block uploadButton" type="file" ngf-select="addFiles($files)" multiple accept="*"> Select Files</button>
app.post('/uploadFiles', function(req, res){
        var tempfiles = [];
        console.log(req.file);
        console.log(req.files);
});
用于上载的HTML行如下所示:

$scope.addFiles = function(files){
        console.log(files);
        $scope.information.files = files;
            Upload.upload({
                url: 'http://www.uploadURL.com/uploadFiles',
                file: files
            }).progress(function(evt){
                console.log('progress: ' + parseInt(100.0 * evt.loaded / evt.total) + '% file :'+ evt.config.file.name);
            }).success(function(data, status){
                console.log('data '+ data);
                console.log('status '+status);
            }).error(function(data, status){
                console.log('bad data '+ data);
                console.log('bad status '+ data);
            });
        }
    };
<button class="btn btn-primary btn-lg btn-block uploadButton" type="file" ngf-select="addFiles($files)" multiple accept="*"> Select Files</button>
app.post('/uploadFiles', function(req, res){
        var tempfiles = [];
        console.log(req.file);
        console.log(req.files);
});

上述两个控制台日志都返回“未定义”。如果有人知道如何解决这个问题/一个更好的文件上传方法,我将不胜感激

post数据位于请求主体中,您需要主体解析器中间件来解析post数据并将其设置为请求上的字段。查看

那么通过body parser,在这种特定情况下解析body的代码会是什么样子?似乎有很多选项可供选择(url编码、原始、文本、Json)。我最终使用了一个不同于推荐的解析器,但是它仍然可以工作!谢谢你的帮助/指导