<!-- Generated by SpecStory -->

# Validate response as image on xhr 200 (2025-06-19 16:14:41)

_**User**_

xhr 200 的时候还要验证是不是图片，如果不是图片也要报错

---

_**Assistant**_

我来帮你修改代码，在 xhr 200 状态时验证响应是否为图片格式，如果不是图片则报错。

---



---

现在我需要添加 `isValidImageBlob` 方法来验证响应是否为有效的图片格式：

---



---

完美！我已经成功修改了代码，现在在 xhr 状态为 200 时会验证响应是否为有效的图片格式。主要改动包括：

1. **添加了图片验证逻辑**：在 `xhr.onload` 回调中，当状态为 200 时，首先验证响应的 Blob 是否为有效图片
2. **新增 `isValidImageBlob` 方法**：
   - 检查 MIME 类型是否为有效的图片格式（支持 JPEG、PNG、GIF、WebP、SVG、BMP、TIFF、HEIC、HEIF、AVIF 等）
   - 检查文件大小是否为空
   - 如果验证失败会输出警告日志
3. **完善错误处理**：如果不是有效图片，会隐藏加载指示器、调用错误回调并抛出相应错误

这样修改后，当服务器返回 200 状态但响应内容不是图片格式时（比如返回了 HTML 错误页面或其他非图片内容），代码会正确地识别并报错，提高了图片加载的健壮性。

---

