egg-multipart是一個處理文件上傳的egg相關(guān)插件,比較好用,獲取file或者stream可以直接在
使用的過程中遇到一個問題:
nodejs.Error: Invalid filename: file-1652842430397
image.png
起初以為是沒有設(shè)置白名單導(dǎo)致的,后來檢查代碼發(fā)現(xiàn)已經(jīng)在config.default.js中配置過 whitelist: ['.jpg', '.png', '.jpeg']
image.png
依然不生效,索性查看了egg-multipart代碼,發(fā)現(xiàn)報錯部分,是拿到的filename并沒有帶.jpeg后綴
image.png
看了下代碼,發(fā)現(xiàn)有三種check方式:
image.png
第一種是function, 可以自己替換check邏輯,所以這里為了方便,直接解決方式:
config.multipart = {
mode: 'stream',
whitelist: function () {
return true
},
fileExtensions: [ '.jpeg' ]
};
當然建議添加自己的業(yè)務(wù)邏輯