": { "code": 400, "message": "Unsupported MIME type: image/..apng", "status": "I...

2025年11月25日 09:13 状态: processing

🚨 错误信息

(HttpCode:400):0 - { "error": { "code": 400, "message": "Unsupported MIME type: image/..apng", "status": "INVALID_ARGUMENT" } } (traceid: 8e7fc2f8d91a7b181db4c363b410b83e)

🤖 AI解决方案

错误分析报告

1. 错误翻译

原文:Unsupported MIME type: image/..apng
译文:不支持的MIME类型:image/..apng

2. 原因分析

  • 根本原因: 上传的文件MIME类型格式异常,出现了双重文件扩展名分隔符 ..
  • 错误位置: 文件上传接口对MIME类型进行验证时
  • 上下文: 文件名可能包含异常格式,如 file..apng 或MIME类型解析出错
  • 3. 解决方案

    检查并修复文件名或MIME类型格式:
    // 修复前:可能的问题文件名
    const fileName = "image..apng";
    
    // 修复后:正确的文件名格式
    const fileName = "image.png"; // 或其他有效格式
    
    // 或者进行MIME类型验证和修正
    function validateMimeType(mimeType) {
        // 移除多余的扩展名分隔符
        const cleanedMimeType = mimeType.replace(/\.{2,}/g, '.');
        
        // 检查是否为支持的MIME类型
        const supportedTypes = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'];
        if (supportedTypes.includes(cleanedMimeType)) {
            return cleanedMimeType;
        }
        throw new Error(`不支持的MIME类型: ${mimeType}`);
    }

    4. ️ 预防措施

  • 文件上传前验证: 在客户端和服务端都进行MIME类型和文件扩展名验证
  • 使用标准化工具: 推荐使用 mime-types 库或类似工具来处理MIME类型检测和验证

推荐工具: file-typemime-types npm包来准确检测文件类型