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