【发布时间】:2017-07-27 15:33:51
【问题描述】:
我正在使用 multer 从这个表单中获取文件
<form action="/api/pimage" method="POST" enctype="multipart/form-data">
<fieldset>
<input type="file" name="profileimage">
<input type="submit">
</fieldset>
</form>
使用这个服务器端脚本
app.post('/api/pimage', function(req, res, next) {
console.log(req.body, req.files);
});
问题是 req.body 正在打印出 { profileimage: 'image.png' } 并且 req.files 正在打印出 {} 你在哪里看到问题? 谢谢
附:我使用app.use(bodyParser.urlencoded({ extended: false })); 获取req.body 和app.use(multer({ dest: './uploads/'})); 获取req.files
【问题讨论】:
-
目录
uploads是否存在且可写? -
目录是 multer 在启动时自动创建的
-
如果您看到
req.body.profileimage,那么您的请求不会以某种方式以multipart/form-data发送。这就是当Content-Type为application/x-www-form-urlencoded时您会看到的内容。你能把console.dir(req.headers['content-type'])放在你的app.post()处理程序中吗? -
是的,你是对的,是打印出 'application/x-www-form-urlencoded' 而不是 multipart/form-data