我正在尝试使用这个简单的代码上传带节点的文件:
UpdateController.prototype.uploadUpdateFile = function(req, res)
{
var w = fs.createWriteStream(settings.uploadFolder + settings.updateFile);
req.pipe(w);
w.on('finish', function()
{
res.send(JSON.stringify({
status:0,
filename:settings.uploadFolder + settings.updateFile
}));
}, function()
{
res.send(JSON.stringify({
status:1,
message:"error during file upload, operation failed"
}));
});
}
文件已正确上传,但它在原始文件之间发生变化,因为标题(------ WebKitForm ... / octet-stream ....)和页脚(..------ WebKitFormBoundary9gOZjMubs9GivcUQ-- ..)被添加到内容中。
如何只获取文件内容?
答案 0 :(得分:2)
您必须查看客户端请求的标头,以了解客户端如何决定向您发送文件(文件的编码方式)
您最终可能会使用busboy或其他依赖它的包:https://www.npmjs.com/package/busboy
这样的包将“解码”浏览器发送的数据。