egg.js 文件上传

1. 当文件不超过1mb,小文件

小文件的话就不需要使用文件流了
需要在config.default.ts(egg.js修改默认配置的文件)指定文件的限制

 config.bodyParser = {
    jsonLimit: '1mb',
    formLimit: '1mb',
  };
如果传的是单文件的话
const file = ctx.request.files[0];
这一步可以获取form表单中上传的文件的内容信息,然后根据自己的需求去处理

2. 大文件上传

一般来说超过1mb的文件,在上传的时候最好以流的形式去处理
egg.js中也提供的这类的插件
同样的需要修config.default.ts文件,去限制文件的最大长度,如果不限制的话会默认是100kb的,这个要注意

  config.multipart = {
    mode: 'stream',
    fileSize: '50mb',
    fileExtensions: [ '.zip' ], // 扩展允许接收的文件后缀
  };

  const stream = await this.ctx.getFileStream();
 // 这是egg.js插件提供的读取文件流的方法
******

你可能感兴趣的:(egg.js 文件上传)