文件上传不适用于 Angular 和 Node.JS
File Upload not working with Angular and Node.JS
我在使用 Angular ng-File-Upload 模块和我的 Node.js 服务器上传文件时遇到问题。在示例中,它说我应该能够通过 "file" 或 "files" 属性(req.file 或 req.files)访问客户端请求中遇到的文件。但是,根据请求,此类属性为 "undefined",我在客户端请求中找不到文件的踪迹。
我的客户端代码如下所示:
$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);
});
以上两个控制台日志 return "undefined"。如果有人知道如何解决此问题/更好的文件上传方法,我将不胜感激。
post 数据在请求的正文中,您需要 body-parser 中间件来解析 post 数据并将其设置为请求的字段。检查 this
我在使用 Angular ng-File-Upload 模块和我的 Node.js 服务器上传文件时遇到问题。在示例中,它说我应该能够通过 "file" 或 "files" 属性(req.file 或 req.files)访问客户端请求中遇到的文件。但是,根据请求,此类属性为 "undefined",我在客户端请求中找不到文件的踪迹。
我的客户端代码如下所示:
$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);
});
以上两个控制台日志 return "undefined"。如果有人知道如何解决此问题/更好的文件上传方法,我将不胜感激。
post 数据在请求的正文中,您需要 body-parser 中间件来解析 post 数据并将其设置为请求的字段。检查 this