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

送分小仙女□ 提交于 2019-12-01 11:45:16

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

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])
    })
  }

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!