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

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

🚨 错误信息

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

🤖 AI解决方案

代码糕手 - 报错分析报告

1. 错误翻译

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

2. 原因分析

  • 根本原因:API请求中提供的图片MIME类型格式错误,存在重复的点号".."
  • 具体问题:MIME类型应为标准的image/apng格式,但实际传入了错误的image/..apng格式
  • 3. 解决方案

    修复图片上传时的MIME类型设置:
    // 错误的写法  ❌
    const mimeType = 'image/..apng'; // 格式错误
    
    // 正确的写法 ✅
    const mimeType = 'image/apng';   // 标准APNG格式

    或者在上传前进行格式验证:

    function validateMimeType(mimeType) {
        const validTypes = ['image/jpeg', 'image/png', 'image/apng', 'image/gif', 'image/webp'];
        return validTypes.includes(mimeType);
    }
    
    // 使用示例
    if (!validateMimeType(file.mimeType)) {
        throw new Error('不支持的图片格式');
    }

    4. ️ 预防措施

  • 格式验证:在文件上传前对MIME类型进行严格的正则表达式验证
  • 工具推荐:使用文件类型检测库(如file-type)自动识别正确的MIME类型
// MIME类型验证函数
function sanitizeMimeType(mimeType) {
    return mimeType.replace(/\.+/g, '.').replace(/^\.|\.$/g, '');
}

Trace ID: 89bcdaf7f91a7b18bbf8c563d11f0094