【发布时间】:2014-07-24 21:55:45
【问题描述】:
我正在使用平均堆栈创建一个 Web 应用程序,任何用户都可以在其中上传图像,并将其存储在 mongo db 或服务器系统的文件夹中。 我正在使用angular-file-upload 上传图片。问题出现在 nodejs 部分,当我尝试打印 req.body 时,它显示的是一个空对象。
HTML代码:<input type="file" ng-file-select="onFileSelect($files)" >
角度代码:
$scope.onFileSelect = function($files) {
for (var i = 0; i < $files.length; i++) {
var file = $files[i];
console.log(file);
$scope.upload = $upload.upload({
url: '/imagePost/'+Global.user._id,
method: 'POST' ,
data: {myObj: 'image'},
file: file,
}).progress(function(evt) {
console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
}).success(function(data, status, headers, config) {
console.log('success');
});
}
};
节点代码:
app.post('/imagePost/:userid',function(req,res){
console.log('I came here');
console.log(req.body);
res.send('');
});
在这里我只是尝试打印请求正文,但我得到一个空对象。我包括了所有依赖项。 如果这不起作用,我觉得做的是读取图像并在请求中发送它并在节点代码中创建一个新图像,以后可以将其存储在一个文件夹中。 但是为什么我在请求正文中没有得到任何对象。请帮帮我..
【问题讨论】:
-
它不会在
req.body,它会在req.files。 -
即使我尝试了 req.files,在这种情况下我得到了 undefined
-
能否在 express 中添加您添加依赖项的部分(
app.use())。 -
app.use(expressValidator()); app.use(bodyParser()); app.use(methodOverride()); app.use(cookieParser());
-
读取图像并通过http发送数据并在节点中创建一个新图像是一个更好的主意..?
标签: javascript node.js angularjs http