bash
TypeError: mime.getType is not a function
at Client.multipartUpload (...ali-oss/lib/managed-upload.js)
2. 当前依赖版本
- ali-oss: ^6.16.0
- 冲突依赖:mime
二、冲突原因
- ali-oss@6.16.0 底层代码使用
mime.getType(),仅兼容 mime 2.x 版本; - mime v4 及以上重构为 ESM 包,删除
getType方法,替换为lookup(); - 项目其他依赖自动安装高版本 mime,版本覆盖后触发函数不存在报错。
三、解决方案
修改
ali-oss/common/utils/createRequest.js 57行
bash
headers['Content-Type'] = mime.getType(params.mime || path.extname(params.object || ''));
bash
headers['Content-Type'] = mime.lookup(params.mime || path.extname(params.object || ''));