0

我正在尝试通过 UIKIT 上传器和 NodeJS 上传文件。问题是我无法在 POST 请求中获取文件。

上传.controller.js

UIkit.upload('.test-upload', {

      url: '/upload',
      multiple: true
      ...
})

应用程序.js

app.post('/upload', function (req, res, next) {
  // How can I get the file here??
});
4

1 回答 1

1

您需要multipart/formExpress 应用程序的中间件,例如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}`) })
于 2017-07-12T18:58:24.680 回答