axios上传文件与koa接受文件

前端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();
})

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值