前端vue
let param = new FormData(); //创建form对象 param.append('img',state.banner.edi.pic);//图片文件 param.append('sort',state.banner.edi.sort);//正常内容 let config = { headers:{'Content-Type':'multipart/form-data'} }; //添加请求头 axios.post('/banner/add',param,config).then(res=>{ $alert(res.data.msg,"提示") })
koa2
const bodyParser=require('koa-bodyparser'); const router=require('koa-router')();//路由 const multer = require('koa-multer');//加载koa-multer模块 app.use(bodyParser()); app.use(router.routes()); //文件上传 //配置 var storage = multer.diskStorage({ //文件保存路径 destination: function (req, file, cb) { cb(null, 'public/uploads/') }, //修改文件名称 filename: function (req, file, cb) { var fileFormat = (file.originalname).split("."); cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]); } }) //加载配置 var upload = multer({ storage: storage }); //新增banner router.post('/banner/add', upload.single('img'),async (ctx,next)=>{ let sort=ctx.req.body.sort; let img=ctx.req.file.filename;//需要拼接地址的为服务器文件地址 let req_data=[sort,img]; let sql='SELECT * FROM banner WHERE sort=?'; let data=await query(sql,sort); if(data!=0){ ctx.body={code:0,msg:"序号已使用"} console.log(img) }else{ let insql= 'INSERT INTO banner(sort) VALUES(?)'; let indata=await query(insql,sort); if(indata.insertId){ ctx.body={code:1,msg:"新增成功"} }else{ ctx.body={code:2,msg:"格式不正确"} } } await next(); })
文章来源: axios上传文件与koa接受文件