繁体   English   中英

我怎样才能在我从客户那里收到的 express 服务器中保存一个 img?

[英]How could I save an img in my express server that I receive from my client?

我在 React 中有一个客户端,它发送一个带有文件的表单数据。 当该文件到达服务器时,主体由主体解析器解析,其结果是一个缓冲区。 这个想法是该文件保存在我服务器的某个地方,因为我想稍后从我的客户端使用它。 所以我想知道我应该如何处理这个问题。

我尝试用fs直接把这个buffer写成一个文件,但是创建的文件格式错误,所以无法访问。

我认为您需要一个 package 来在后端服务上存储文件。 我为此使用了摩根 package ,我对使用它感到满意。 我刚刚搜索了其他用于存储文件的包,我找到了express-fileupload package 也许您想看看如何使用它们。 如果你想存储文件,使用第三个 package 对你和你的努力会更好。

你可以做这样的事情

var fs = require('fs');
fs.writeFile('newImage', req.files.image, function (err) {
   if (err) throw err;
   console.log("It's saved");
});

fs.writeFile的正确参数顺序是文件名在前,然后是内容。

如果您使用express.bodyParser() ,您将在 req.files 字段中拥有上传的文件。

当然你应该写回调:

POV:您的图像文件应该在 req.files 中而不是正文中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM