file upload不适用于Angular和Node.JS

我有问题获取file upload与Angular ng-File-Upload模块和我的Node.js服务器一起使用。 在这个例子中,它说我应该能够通过“文件”或“文件”属性(req.file或req.files)访问客户端请求中遇到的文件。但是,请求中的这些属性是“未定义的”而且我无法find客户端请求中的文件的跟踪。

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

$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); }); } }; 

上传的HTML行如下所示:

 <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); }); 

上述两个控制台日志都会返回“undefined”。 如果任何人有任何想法如何解决这个/一个更好的file upload方法,我将非常感激。

发布数据位于请求的正文中,您需要使用body-parser中间件来parsing发布数据,并将其设置为请求中的字段。 看看这个