egg-multipart是一个处理文件上传的egg相关插件,比较好用,获取file或者stream可以直接在
使用的过程中遇到一个问题:
nodejs.Error: Invalid filename: file-1652842430397
image.png
起初以为是没有设置白名单导致的,后来检查代码发现已经在config.default.js中配置过 whitelist: ['.jpg', '.png', '.jpeg']
image.png
依然不生效,索性查看了egg-multipart代码,发现报错部分,是拿到的filename并没有带.jpeg后缀
image.png
看了下代码,发现有三种check方式:
image.png
第一种是function, 可以自己替换check逻辑,所以这里为了方便,直接解决方式:
config.multipart = {
mode: 'stream',
whitelist: function () {
return true
},
fileExtensions: [ '.jpeg' ]
};
当然建议添加自己的业务逻辑