图片 "undefined" 与 multer

picture "undefined" with multer

我正在尝试使用 multer 上传图片,这是我的服务器端

const storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, './uploads/')
    },
    filename: function (req, file, cb) {
        cb(null, `${file.originalname}`)
    }
})


const upload = multer({storage: storage});

app.post('/upload', upload.single("pic"), function (req, res) {
    console.log(req.file)
    res.send('File uploaded!')
})

在我的 post 方法中,我的 req.file 未定义

这是我的客户端

<form action="/upload" method="post">
                    <input type="file" id="files" style="visibility: hidden;" name = "pic" accept="image/*">
                    <br>
                    <label for="files" id="files" class = "lbl">Select file</label>
                    <br>
                    <br>
                    <input type="submit" value="Upload" name="submit" id = "submit">
                </form>

如果有人可以发送解决方案,那就太棒了。 谢谢。

我发现只有当内容类型是multipart/form-datamulter().single(...)才会填充req.file:

<form action="/upload" method="post" enctype="multipart/form-data">