【问题标题】:Having trouble uploading a file with node using multer使用 multer 上传带有节点的文件时遇到问题
【发布时间】:2015-08-11 23:31:04
【问题描述】:

这似乎是一个简单的问题,但我已经花了一段时间试图解决它,但我无法完全弄清楚出了什么问题。这是我发出请求的前端表单:

div#PreGA
    p PreGa.json:
    form(action="config/set/PreGa", name="pre-ga", method="post", enctype="multipart/form-data")
        input(type="file" value="Choose File" accept=".json")#choose-file-pre-ga
        input(type="submit" value="Upload")#upload-pre-ga

这是应该接收请求的路由:

var upload = multer({ dest: 'uploads/' });

//set the JSON file for the pre-ga reported issues
router.post('/config/set/PreGa',ensureAuthenticated, upload.single('pre-ga'), function(req, res, next) {


    console.log(req.body);
    console.log(req.file);

});

问题是应该返回文件的 req.file 在调用路由时未定义。

这是最简单的用例之一,我不知道出了什么问题。非常感谢您的帮助。

【问题讨论】:

    标签: node.js express multer


    【解决方案1】:

    您的文件输入缺少name 属性。

    【讨论】:

    • 哦,我以为我需要表单输入的名称...谢谢。此外,它应该是 req.file 而不是 req.files 因为根据 multer 文档,我使用的是 single() 而不是 array() 。不过,它现在确实有效。我不敢相信我没有看到!
    猜你喜欢
    • 2017-12-26
    • 2017-10-20
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多