vue发送form,koa接收并保存文件

网上的教程都是骗人的鬼,没有一个成功的,直接看代码:

vue创建表单,添加参数,然后传到接口

let formData = new FormData()
formData.append('username', this.form.file)
formData.append('auth_user_file', 1)
formData.append('op_type', 2)
formData.append('game_id', 2577)
formData.append('src_type', 0)
_imageForm(formData)

  

koa要安装依赖才能获取form-data的参数

const multiparty = require("multiparty");
static async _form(ctx) {
    let form = new multiparty.Form();
    form.parse(ctx.req, function (err, fields, files) {
      console.log(files.username[0])
      console.log(fields)
      let input = files.username[0]
      const file = files.file; // 获取上传文件
      const reader = fs.createReadStream(input.path); // 创建可读流
      const ext = input.originalFilename.split('.').pop(); // 获取上传文件扩展名
      const upStream = fs.createWriteStream(`upload/${Math.random().toString()}.${ext}`); // 创建可写流
      reader.pipe(upStream);
      // console.log(fields.aa[0])
    })
  }

  

 

posted @ 2019-10-16 10:13  fm060  阅读(645)  评论(0编辑  收藏  举报