【问题标题】:Node.js uploaded file does not have path propertyNode.js 上传的文件没有路径属性
【发布时间】: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 谢谢。它有效。

标签: node.js express multer


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 2010-09-25
    • 1970-01-01
    • 2012-09-08
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多