在express中,可以使用multer中间件来处理文件上传,示例如下:

  1. 安装multer
npm install multer --save
  1. 引入multer
const multer = require('multer')
  1. 配置multer
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    // 指定文件上传的目录
    cb(null, 'uploads/')
  },
  filename: function (req, file, cb) {
    // 指定文件名
    cb(null, file.originalname)
  }
})

const upload = multer({ storage: storage })
  1. 定义文件上传接口
app.post('/upload', upload.single('file'), function (req, res, next) {
  // req.file 是上传的文件信息
  console.log(req.file)
  res.send('文件上传成功')
})
  1. 在前端使用form表单上传文件
<form action="/upload" method="POST" enctype="multipart/form-data">
  <input type="file" name="file">
  <button type="submit">上传文件</button>
</form>

注意事项:

  • 在form表单中需要指定enctype为multipart/form-data
  • 在multer中使用single方法指定上传的文件名,这里的名字需要和前端form表单中的文件名一

原文地址: https://www.cveoy.top/t/topic/fcaR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录