开发接口--头像上传问题

252 阅读1分钟
  • Multer 是一个 node.js 中间件,用于处理 multipart / form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上非常高效。
//引入包
const express = require('express')
const multer  = require('multer')

//设置文件存储
//方式一:缺点:上传的文件名称很乱,没有后缀
const upload = multer({ dest: 'uploads/' })

//方式二:
const storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, 'uploads');
    },    // 保存位置
    filename: function (req, file, cb) {
        console.log('file', file)
        // const filenameArr = file.originalname.split('.');
        cb(null, file.originalname) //  + "." +filenameArr[filenameArr.length-1]);
    }   // 保存文件名
})

let upload = multer({ storage })

const app = express()
app.post('接口路径', upload.single('avatar'), function (req, res, next) {
  // avatar --> 对应文件的表单的 name='avatar'
  // req.file 是 `avatar` 文件的信息
  // req.body 将具有文本域数据,如果存在的话
})