如何在Node.js中处理文件上传

如何使用Node.js特别是Express处理上传的文件

如何使用提取上传文件我解释了如何使用以下命令将文件上传到服务器拿来

在这篇文章中,我将向您展示第2部分:如何使用Node.js,尤其是表示,以处理上传的文件。

安装express-fileuploadnpm模块:

npm install express-fileupload

并将其添加到您的中间件中:

import fileupload from 'express-fileupload'

//or const fileupload = require(‘express-fileupload’)

创建Express应用后,请添加:

app.use(
  fileupload(),
  //...

这是必需的,因为否则服务器将无法解析文件上载。

现在,在req.files。如果您忘记添加该中间件,req.files将是undefined

app.post('/saveImage', (req, res) => {
  const image = req.files.myFile
  const path = __dirname + '/images/' + image.name

image.mv(path, (error) => { if (error) { console.error(error) res.writeHead(500, { ‘Content-Type’: ‘application/json’ }) res.end(JSON.stringify({ status: ‘error’, message: error })) return }

<span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">writeHead</span>(<span style="color:#ae81ff">200</span>, {
  <span style="color:#e6db74">'Content-Type'</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'application/json'</span>
})
<span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">end</span>(<span style="color:#a6e22e">JSON</span>.<span style="color:#a6e22e">stringify</span>({ <span style="color:#a6e22e">status</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'success'</span>, <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#e6db74">'/images/'</span> <span style="color:#f92672">+</span> <span style="color:#a6e22e">image</span>.<span style="color:#a6e22e">name</span> }))

}) })

这是处理文件所需的最少代码量。

我们称mv上传图片的属性。那是由我们提供给我们的express-fileupload模块。我们将其移至path然后我们将成功(或错误!)传达给客户。

免费下载我的Node.js手册


更多节点教程: