Javascript 文件上载不适用于Angular和Node.JS
我在使用Angular ng文件上传模块和Node.js服务器进行文件上传时遇到问题。在示例中,它说我应该能够通过“file”或“files”属性(req.file或req.files)访问客户端请求中遇到的文件。但是,请求时这些属性是“未定义的”,我在客户端请求中找不到文件的跟踪 我的客户端代码如下所示: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
$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)。我最终使用了一个不同于推荐的解析器,但是它仍然可以工作!谢谢你的帮助/指导