我将图像从我的iPhone App发送到服务器。 Restful API在快递JS中。 我正在使用POST请求在服务器上获取图像。我能够打印二进制数据但无法正确存储它。当我从指定位置打开图像时,它已损坏。这是我的快递js代码。
app.post('/api/pictures',function(req,res){
console.log(req.headers);
var body = '';
filePath = 'C:/Users/Desktop/restful/image.png';
req.on('data', function(data) {
console.log(data);
body += data;
});
req.on('end', function (){
fs.appendFile(filePath, body, function() {
res.end();
});
});
res.send("Success!");
});
我的req.headers是
我做错了吗?
我在客户端收到此回复的地方
{ status code: 200, headers {
Connection = "keep-alive";
"Content-Length" = 8;
"Content-Type" = "text/html; charset=utf-8";
Date = "Wed, 14 Jan 2015 16:15:01 GMT";
"X-Powered-By" = Express;
} }
upload completed, response: Optional(Success!)
提前致谢。
答案 0 :(得分:0)
您需要使用多部分解析中间件,例如multer
,multiparty
,formidable
或connect-busboy
。
答案 1 :(得分:0)
最后,我可以使用connect-multiparty上传图片。
app.post('/api/uploadimage', multipartMiddleware, function(req, res) {
console.log(req.body, req.files); // check console
fs.readFile(req.files.urForm-data_name.path, function (err, data) {
fs.writeFile(newPath, data, function (err) {
});
});
});