我使用此代码获得的错误是
无法发布/ img / upload /'
代码:
app.post('/img/upload/',[multer({ dest: __dirname+'/www/images/new/',
rename: function (fieldname, filename, req, res) {
return filename + '_ORIGINAL';
},
onFileUploadStart: function (file, req, res) {
console.log(file.fieldname + ' is starting ...')
},
onFileUploadData: function (file, data, req, res) {
console.log(data.length + ' of ' + file.fieldname + ' arrived')
},
onFileUploadComplete: function (file, req, res) {
console.log(file.fieldname + ' uploaded to ' + file.path)
},
onError: function (error, next) {
console.log(error)
next(error)
}
})]);
此API的控制器请求是:
var data = new FormData;
data.append("file", files[0]);
$http({
url: 'http://52.25.181.109/img/upload/',
method: "POST",
data : data,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (data, status, headers, config) {
$scope.hide_u();
console.log(data);
}).error(function (data, status, headers, config) {
$scope.hide_u();
console.log(data);
});
代码执行时出错。我该如何纠正?
答案 0 :(得分:0)
尝试更改标题:headers: {'Content-Type': 'multipart/form-data'}
Multer仅满足多部分要求。该路由对“application / x-www-form-urlencoded”无效。形成他们的网站:
用于处理
multipart/form-data
的Node.js中间件。
更新: 我设置了一个服务器。以下应该工作,更改服务器处理程序:
app.use(multer({ dest: __dirname+'/www/images/new/'}));
app.post("/img/upload/", function() {console.log("request rec.")});
我的测试表格是:"<form enctype=\"multipart/form-data\">"
建议:尝试删除标题。