欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何使用表达式表单数据 js 接收文件

最编程 2024-03-02 20:48:43
...


如何用 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)
})

如何用 express 接收文件 formdata js_javascript


如何用 express 接收文件 formdata js_前端_02

四、不存储文件,只获取其内容。

如果你不想存储这个文件,只是想读取其内容,就需要将中间件的参数由下面这个改为后面那个

const upload = multer({dest: 'upload'})
const storage = multer.memoryStorage()
const upload = multer({ storage: storage })

此时 ​​req.file​​​ 参数中会多出一个名为 ​​buffer​​​ 的字段,文件内容就在这个 ​​buffer​​ 中。