Node.js上传的文件没有路径属性

时间:2017-05-03 08:52:54

标签: node.js express multer

我在node.js中用multer编写文件上传演示。当表单提交时,我可以获取文件信息,但它没有路径属性。

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);
}

multer config

var multer = require('multer')();
app.post('/upload',multer.single('photo'),photos.submit(app.get('photos')));

req.file

enter image description here

1 个答案:

答案 0 :(得分:0)

您正在使用memStorage存储文件。这就是为什么req.file中没有路径的原因。

请尝试将其更改为:var upload = multer({ dest: 'uploads/' })。将上传/替换为您要上传文件的目录。