首页 Node Koa.js框架

安装


npm install koa-body

测试版本:6.0.1

用法


HTML:
<form action="/form1" method="post" enctype="multipart/form-data">
  <input type="text" name="name" />
  <input type="file" name="file1"/>
  <input type="file" name="file2"/>
  <input type="submit" value="提交" />
</form>



JS后台:
const koabody = require("koa-body").default;
const fs = require('fs');
const koa = require("koa");
const app = new koa();

//设置koa-body参数
app.use(koabody({  //其它设置参考最后面
  multipart: true,      //允许文件表单
  jsonLimit: "5mb",   // body体的大小
  formidable: {
    maxFileSize: 100 * 1024 * 1024  // 设置上传文件大小最大限制,默认2M
  }
}));

app.use(async ctx => {
  if(ctx.method == "POST" && ctx.path == "/form1"){
  
    // ctx.request.body  //获取text表单,{ name: 'abc' }

    //------------------------------------------
    //加载了koa-body中间件,才有files属性
    var file = ctx.request.files.file1;  //获取file文件,最后的file是HTML中<input name="file"/>属性,根据设置修改
    var rfile = fs.createReadStream(file.filepath);  //读取上传文件,转化为文件流
    var wfile = fs.createWriteStream(__dirname + "/upload/" + file.originalFilename);  // 写入文件,创建写入流
    rfile.pipe(wfile);  //保存文件

    //上传文件信息
    //file.filepath  上传文件临时路径
    //file.originalFilename   文件名,a.txt
    //file.size   文件大小
    //file.mimetype 文件类型,text/plain、application/x-zip-compressed
    //lastModifiedDate  上传时间
  }
});



koa-body


formidable