上传的文件与原始文件不同

时间:2015-09-30 10:03:30

标签: node.js http

我正在尝试使用这个简单的代码上传带节点的文件:

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-- ..)被添加到内容中。

如何只获取文件内容?

1 个答案:

答案 0 :(得分:2)

您必须查看客户端请求的标头,以了解客户端如何决定向您发送文件(文件的编码方式)

您最终可能会使用busboy或其他依赖它的包:https://www.npmjs.com/package/busboy

这样的包将“解码”浏览器发送的数据。