【发布时间】:2017-05-03 17:41:33
【问题描述】:
我在node.js中用multer写了一个文件上传demo。表单提交的时候可以获取文件信息,但是没有path属性。
ejs 文件
<form method="post" enctype="multipart/form-data">
<p>
<input type="text" name="name" placeholder="name">
</p>
<p>
<input type="file" name="photo">
</p>
<p>
<input type="submit" value="Upload">
</p>
</form>
js
function (req, res ,next) {
var img = req.file;
var name = req.body.name || img.originalname;
var path = require('path').join(dir, name);
console.log(img);
}
多重配置
var multer = require('multer')();
app.post('/upload',multer.single('photo'),photos.submit(app.get('photos')));
req.file
【问题讨论】:
-
粘贴您的 multer 配置。
-
@Sam 我已经更新了问题
-
您正在使用 memStorage 存储文件。这就是 req.file 中没有路径的原因。尝试将其更改为:
var upload = multer({ dest: 'uploads/' })。将 uploads/ 替换为您要上传文件的目录。 -
@Sam 谢谢。它有效。