1
我試圖用NodeJS busboy上傳服務器上的映像文件,我收到此錯誤:不支持的內容類型圖像/ PNG
Service Listening for request on: 8080
Error: Unsupported content type: image/png
at Busboy.parseHeaders (D:\ImageUploadService\node_modules\busboy\lib\main.j
s:66:9)
at new Busboy (D:\ImageUploadService\node_modules\busboy\lib\main.js:21:10)
at D:\ImageUploadService\server.js:15:15
at Layer.handle [as handle_request] (D:\ImageUploadService\node_modules\expr
ess\lib\router\layer.js:76:5)
at next (D:\ImageUploadService\node_modules\express\lib\router\route.js:100:
13)
at Route.dispatch (D:\ImageUploadService\node_modules\express\lib\router\rou
te.js:81:3)
at Layer.handle [as handle_request] (D:\ImageUploadService\node_modules\expr
ess\lib\router\layer.js:76:5)
at D:\ImageUploadService\node_modules\express\lib\router\index.js:234:24
at Function.proto.process_params (D:\ImageUploadService\node_modules\express
\lib\router\index.js:312:12)
at D:\ImageUploadService\node_modules\express\lib\router\index.js:228:12
下面是我的代碼:
app.post('/uploadImage',function(req,res){
var alias=req.query.alias;
var imagetype=req.query.imagetype; //can be media/profile
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
var saveTo = ".\\Images\\"+alias+"\\"+imagetype+"\\"+filename;
if (fs.existsSync(saveTo)) {
file.pipe(fs.createWriteStream(saveTo));
}
else{
fs.mkdir(".\\Images\\"+alias+"\\"+imagetype,function(err){
saveTo=".\\Images\\"+alias+"\\"+imagetype;
file.pipe(fs.createWriteStream(saveTo));
});
}
});
busboy.on('finish', function() {
res.writeHead(200, { 'Connection': 'close' });
res.status(200).end();
});
return req.pipe(busboy);
});
我想使用POSTMAN REST CLIENT提出請求。
這是客戶的問題,還是我必須在代碼中做chnages?請注意,我在客戶端(郵遞員)提到Content-Type: image/png
。
旁邊的問題:另外,我有一種方式,我可以存儲圖像的拇指?
那麼我該如何上傳圖片?你可以建議任何圖書館?或者任何例子? – writeToBhuwan 2014-09-30 18:11:59
郵遞員支持HTML表單提交,只需使用'multipart/form-data'的'Content-Type'並將您的文件添加到表單。 – mscdex 2014-09-30 18:37:37
仍然是相同的錯誤 – writeToBhuwan 2014-09-30 19:19:05