问题描述
最近研究Egg上传文件到本地,发现当我上传的时候,居然以下报错:nodejs.Error: Invalid filename: xxx.xlsx
解决方案
-
确保你的文件有后缀名
-
在配置文件中config.default.js配置
config.multipart同时还要配置你的白名单:
whitelistconfig.multipart = { mode: 'stream', // 可选值:stream、file fileSize: 1048576000, whitelist: [ '.xlsx' ], };其中注意的一点就是
config.multipart中的mode项有两个值:stream和file,mode的值不一样,获取文件的方式也就不一样。// 当mode的值为stream时 const stream = await ctx.getFileStream(); // 当mode的值为file时 const files = ctx.request.files;其他更多相关配置见官网:eggjs.org/zh-cn/plugi…