Javascript 如何将express fileupload创建的缓冲区保存到文件?
我想使用Javascript 如何将express fileupload创建的缓冲区保存到文件?,javascript,node.js,file-upload,fs,Javascript,Node.js,File Upload,Fs,我想使用express fileupload将此图像发布到我的nodejs express服务器,这是我的节点代码: app.post("/files", function(req, res) { console.log(req.files.brandLogo) const data = { fieldname: 'file', originalname: req.files.brandLogo.name,
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的文件,而不是正确的文件。有什么想法吗?干杯。我建议在写入输出文件时对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!");
});
});
否则,数据将被转换为类似“[对象]”的内容,这不是我们想要的