UIKIT上传 - 服务器端NodeJS

时间:2017-07-12 18:10:52

标签: javascript node.js getuikit

我试图通过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??
});

1 个答案:

答案 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}`) })