0
我正在使用Angular与Node,Express和Multer以及ng-file-upload。由于某种原因,我得到400(错误请求)http请求错误。我尝试了不同的东西,但这一切都回来了。这是代码示例。如何让ng-file-upload与Node一起使用?
HTML
<form ng-controller="adminController" name="form">
与验证单张图像 选择
提交
角app.js
$scope.submit = function() {
$log.info($scope.file);
if ( $scope.file) {
$scope.upload($scope.file);
}
};
// upload on file select or drop
$scope.upload = function (file) {
Upload.upload({
url: '/api/admin/photos',
headers : {
'Content-Type': 'multipart/form-data'
},
data: {file: file}
}).then(function (resp) {
console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data);
}, function (resp) {
console.log('Error status: ' + resp.status);
}, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded/evt.total);
console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name);
});
};
节点JS
//upload photos
apiRoutes.post('/admin/photos',upload.single(),function(req,res){
console.log(req);
res.json({name: 'this works'});
});
好的,我做过这件事,但仍然没有运气...甚至在此之前,尝试了其他的东西,而不是Muller和相同的结果。所以我只是从那里删除upload.single和相同的结果。我如何测试以查看正在采摘的内容? – arsenalist
最快的方法可能是下列之一:1.查找将状态码设置为400的行; 2.开始消除中间件直到执行路由处理程序; 3.插入一个新的中间件,仅仅将某些东西记录到控制台,并通过执行(通过'next()')并继续向上移动链,直到看到它登录到控制台。 – mscdex
确实很棒。它似乎是bodyparser.urlencoded。这应该是用于别的东西,现在我必须弄清楚为什么会导致问题。感谢您的帮助。 – arsenalist