https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md
下载依赖
yarn add multer
npm i multer
//导入包
const multer = require('multer')
//dest 指定存储文件的本地位置 single 参数的名称
router.post('/upload',multer({dest:paths.join(__dirname,'../public/algorithm_file')}).single('file'),(req,res)=>{
//当程序执行进来的时候,文件已经存储到了指定文件夹,我们需要更改文件名称 不改也行
//获取除了文件信息之外的其他信息,从前端传过来的
const {id,title} = req.body
console.log(title);
//获取文件的信息。名称和地址
const {originalname,path} = req.file
//获取文件的后缀
const extname = paths.extname(originalname);
//拼接出新的文件名
let name = 'algorithm_file/'+Date.now()+title + extname
let newFileName = paths.join(__dirname,'../public/') + name;
//更改文件名
fs.rename(path,newFileName,err=>{
if (err) return res.cc(err)
//将文件信息存储到数据库
const sql = `update le_algorithm set ? where id = ?`
db.query(sql,[{daan:name,statue:'已结束'},id],(err, result)=>{
if (err) return res.cc("添加失败")
return res.send({
status:200,
message:'ok'
})
})
})
})
//导入依赖,并进行配置
const multer = require('multer')
const storage = multer.memoryStorage();
const upload = multer({ storage: storage });
router.post('/api/upload',upload.single('file'),async (req,res)=>{
const {originalname,path,size} = req.file
const extname = paths.extname(originalname);
let name = Date.now()+extname
//获取文件流
const fileBuffer = req.file.buffer
//传递给封装好的minio函数,进行上传
const result = await MinioUtils.putFile(name,fileBuffer,extname,size);
if(!result.result) return res.send({
msg:"上传失败",
code:200,
})
return res.send({msg:"上传成功",code:200})
})