上传图像,同时保留其他形式的数据

问题描述:

<form id="test-form" action="/upload" method="POST"> 
    <input type="file" id="wizard-picture" name="picture"> 
    <input name="first_name" type="text" class="form-control" placeholder="First Name"> 
</form> 

app.post("/upload", function(req, res){ 
    console.log(req.body); 
}); 

上传图像,同时保留其他形式的数据


我看到我的 “FIRST_NAME” 在req.body显示出来,而不是 “图片”。 我改变了enctype为“multipart/form-data”,并且一切都消失了。我得到了一个空的结果。我已经尝试了一些像Multer这样的软件包,我遵循了每一步,但它仍然无法正常工作。

我想同时上传图像和接收来自表单的其余数据。

对于文件上传,我建议使用Multer。为此,请参阅https://github.com/expressjs/multer。它处理文件上传的最佳方式。仅通过req.body获取图像将无法正常工作。在他们的GitHub上提供了Multer的示例。

+0

Multer是一个中间件。但是我想在app.post(“xx”,function(req,res){here})中上传。有没有包可以做到这一点? – Pano

+0

是的,Multer。然后调用app.post(“xx”,multer.smth(...),function(req,res){stuff})。然后,req变量包含所有文件数据,并且该文件存储在服务器上。 – NikxDa