我正在使用angular-file-upload将图片上传到运行Node和Express 4.0的服务器,而我无法在erver上获取文件数据。
以下是相关代码:
<input type="file" ng-file-select="onFileSelect($files)">
角度控制器:
$scope.onFileSelect = function ($files) {
var file = $files[0];
// [..] validation
$scope.upload = $upload.upload({
url: 'api/settings/picture',
method: 'POST',
file: file,
headers: {'Content-Type': undefined}
}).progress(function (evt) {
$scope.percent = parseInt(100.0 * evt.loaded / evt.total);
}).success(function (data) {
console.log(data);
}).error(function () {
console.log('error');
});
};
服务器代码:
// Picture
app.route('/api/settings/picture')
.post(middleware.auth, users.changePicture);
路线处理程序:
exports.changePicture = function (req, res) {
var userId = req.user._id;
console.log(req.files);
};
req.files
始终为undefined
为什么会出现这种情况?
答案 0 :(得分:0)
问题是由Express 4.0中的更改引起的。
我使用Multer解决了这个问题。
此帖子的更多信息:https://groups.google.com/forum/#!topic/express-js/INjdKyS3--0