Egg.js学习与实战系列 · 文件上传配置

在使用Egg.js构建文件上传服务时,可能会遇到文件类型限制、大小限制等问题。本文详细介绍了如何配置Egg-multipart插件来允许txt文件上传、解除文件大小限制,并提供了解决方案和相关配置示例。
摘要由CSDN通过智能技术生成

在使用Egg.js搭建文件上传服务时,遇到了几个一般新手都会遇到的坑。
经查阅官方文档,Egg框架中默认使用egg-multipart插件进行文件上传,所以上传文件前需要做相关的配置。

EggJS

上传文件提示: filetype undefined (图片可以上传,不报错)

  • 原因:没有给egg指定上传文件的类型

解决方法:config中添加如下配置

// config/config.default.js
config.multipart = {
  mode: 'file',  // 对应文件类型 
}

上传 txt 文件提示:Invalid filename

  • 原因:egg-multipart有对上传文件的后缀名限制的白名单(whitelist),.txt后缀没有在默认whitelist中,导致上传失败。

  • 默认白名单:

const whitelist = [
  // images
  '.jpg', '.jpeg', // image/jpeg
  '.png', // image/png, image/x-png
  '.gif', // image/gif
  '.bmp', // image/bmp
  '.wbmp', // image/vnd.wap.wbmp
  '.webp',
  '.tif',
  '.psd',
  // text
  '.svg',
  '.js', '.jsx',
  '.json',
  '.css', '.less',
  '.html', '.htm',
  '.xml',
  // tar
  '.zip',
  '.gz', '.tgz', '.gzip',
  // video
  '.mp3',
  '.mp4',
  '.avi',
];

解决方法:config中添加如下配置

// config/config.default.js
config.multipart = {
  fileExtensions: [
    '.txt',
  ],
}

上传大文件提示:Reach fileSize limit

解决方法:config中添加如下配置

// config/config.default.js
config.multipart = {
  fileSize: '100mb',  // Max file size (in bytes), default is 10mb
}

参考文档:

  • https://eggjs.org/zh-cn/plugins/multipart.html

欢迎访问:个人博客地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值