egg.js 文件上传
2021-06-18 本文已影响0人
月半女那
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插件提供的读取文件流的方法
******