如何用 express 接收檔案 formdata js
express
是一個
nodejs
的背景架構,如何接收檔案并存儲檔案呢。
一、需要用到 multer
multer
是
express
用于處理
multipart/form-data
類型資料的中間件,它可以實作存儲發送過來的
formData
中的檔案。
具體看官方文檔:
https://github.com/expressjs/multer
二、multer 安裝
npm i multer
# 或
yarn add
三、multer 使用
const express = require('express')
const router = express.Router()
const multer = require('multer')
const upload = multer({dest: 'upload'}) // 1.定義檔案的存放位置,不帶 / 的是相對位置
// 2.存儲 FormData 中名為 'dict' 的檔案
router.post('/upload-dict', upload.single('dict'), (req, res,) => {
// 3. 存儲後的檔案資訊在 req.file 中,此時檔案已經存儲到本地了。
console.log(req.file)
})
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yN4AjM2UTYmRzYmdzYlZmZyYzXxEzMwQDMwIzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
四、不存儲檔案,隻擷取其内容。
const upload = multer({dest: 'upload'})
const storage = multer.memoryStorage()
const upload = multer({ storage: storage })