如何将express-fileupload创建的缓冲区保存到文件中?

我想使用express-fileupload将此图像发布到我的nodejs express服务器,这是我的节点代码:

app.post("/files",function(req,res) {
    console.log(req.files.brandLogo)

    const data = {
            fieldname: 'file',originalname: req.files.brandLogo.name,encoding: req.files.brandLogo.encoding,mimetype: req.files.brandLogo.mimetype,buffer: req.files.brandLogo.data,size: req.files.brandLogo.size
    };

    fs.writeFile("file",data,function(err) {
        if(err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });
});

我可以看到张贴到控制台的文件,名称,大小和所有内容都正确,但是当我尝试将此缓冲区写入文件时,写入的文件是1kb的文件,而不是正确的文件。有任何想法吗?干杯。

kkkkkwwwpopo 回答:如何将express-fileupload创建的缓冲区保存到文件中?

我建议做一个简单的更改,以便在写入输出文件时使用JSON.stringify,就像这样:

app.post("/files",function(req,res) {
    console.log(req.files.brandLogo)

    const data = {
            fieldname: 'file',originalname: req.files.brandLogo.name,encoding: req.files.brandLogo.encoding,mimetype: req.files.brandLogo.mimetype,buffer: req.files.brandLogo.data,size: req.files.brandLogo.size
    };

    // Use JSON.stringify to serialize here.
    fs.writeFile("file",JSON.stringify(data,null,4),function(err) {
        if(err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });
});

否则,数据将转换为“ [object Object]”之类的东西,这不是我们想要的!

本文链接:https://www.f2er.com/3160950.html

大家都在问