我试图通过UIKIT上传器和NodeJS上传文件。问题是我无法在POST请求中获取文件。
upload.controller.js
UIkit.upload('.test-upload', {
url: '/upload',
multiple: true
...
})
app.js
app.post('/upload', function (req, res, next) {
// How can I get the file here??
});
答案 0 :(得分:1)
您需要{Express}应用的multipart/form
中间件,例如multer。 Express不支持开箱即用的文件上传,因此您需要将multer添加到中间件,通常是在路由而不是整个服务器实例上。
Multer可以处理单个或多个文件上传,也可以处理表单数据以及有关上传的元信息。您可以在文档中阅读有关各种设置和存储设置的更多信息。
const express = require('express')
const multer = require('multer')
const port = process.env.PORT || 1337
const server = express()
const upload = multer({dest: 'temp/' })
// process the array of "files"
server.post('/upload', upload.array('files'), (req, res) => {
// work with files
console.log(req.files) // array of files
// request body will be processed by multer as well
console.log(req.body)
})
server.listen(port, () => { console.log(`Listening on ${port}`) })