node express使用multer中间件实现上传与删除

524 阅读1分钟

1.下载包

  1. npm i multer
  2. 或yarn add multer

导入包

const multer = require('multer')

定义上传规则

const storage = multer.diskStorage({
    destination: function(req,files,cb) {
        cb(null,'上传到的文件夹')
        //destination为上传的目的地
    },
    filename: function(req,files,cb) {
        cb(null,'定于的文件名')
        //filename上传的文件名
    }
})

将定义的规则付给中间件

const upload = multer({storage: storage})

删除上传的文件

导入node内置的fs,path模块

const fs = require('fs')
const paths = require('path')

找到文件上传的文件位置

const dirpath = paths.join(__dirname, '..', 'public/carouselimg')

使用fs.unlink方法删除文件夹中的文件

fs.unlink(paths.join(dirpath, 删除的文件名), (err) => {
    if(err){
        如果删除错误的处理
    }else{
        删除成功
    }
})