需求:在做nodejs+express+vue博客项目时,需要实现上传图片到后台删除的功能。这是一个记录。nodejs实现图片上传//导入express框架constexpress=require('express')constmulter=require('multer');constpath=require('path');constfs=require('fs');//创建路由constupload=express.Router()varMulter=multer({dest:'./public/uploads'});//设置上传的图片存放目录//表示有一个上传对应任意一个上传的数据.single('user')表示只接收名为user的上传数据upload.use(Multer.any());upload.post('/images',(req,res)=>{//后缀为const的路径newpath=req.files[0].path+path.parse(req.files[0].originalname).ext//带后缀的文件名constnewname=req.files[0].filename+path.parse(req.files[0].originalname).ext//重命名文件名fs.rename(req.files[0].path,newpath,err=>{if(err)returnres.send({"data":null,"meta":{"msg":"文件上传失败!","status":400}})})res.send({"data":newname,"meta":{"msg":"文件上传成功!","status":201}})})//将路由对象导出为模块成员module.exports=uploadnodejs删除图片//导入express框架constexpress=require('express')constpath=require('path');constfs=require('fs');//创建路由constdeleteImg=express.Router()deleteImg.delete('/deleteImg/:name',(req,res)=>{//删除图片constname=req.params.namefs.unlink('./public/uploads/'+req.params.name,err=>{if(err)returnres.send({"data":null,"meta":{"msg":"删除失败","status":400}})})res.send({"data":null,"meta":{"msg":"删除成功","status":200}})})module.exports=deleteImgvue实现图片上传
