Claude 附件预览不显示:修复空白缩略图

Claude 显示附件 tile 但没缩略图。多半是渲染延迟、不支持的格式(HEIC/TIFF)、或缓存脏了。最快修法和完整排查都在这。

把 PDF 或 PNG 拖进聊天框。附件 tile 出来了,文件名、大小都有,但缩略图是一片灰、一个图片损坏图标、或者干脆什么都没有。从 UI 上你根本看不出 Claude 到底是真收到内容,还是只收到了元数据。

最快的修法(约 70% 的情况有效): 等 30 秒左右,重新加载对话。缩略图是由一个独立的渲染服务生成的,经常会落后上传几秒,而文件本身几乎总是早就进去了。如果重新加载没解决,那原因就在下面五类之一,用诊断表对号入座即可。

先说最关键的一点:没有缩略图不代表 Claude 读不到文件。在你花时间重传之前,先确认这点。让模型 Without re-reading, summarize the file I just attached in two sentences.(不要重读,用两句话总结我刚上传的文件)。如果总结对得上,说明上传成功、只是预览层挂了,你可以继续干活。

你属于哪一类

挑出跟你看到的现象对得上的那一行,再跳到对应的修复步骤。

你观察到的现象最可能的原因跳到
tile 在,没缩略图,重新加载就好了渲染落后于上传Step 1
只有这个文件挂;它是 HEIC、AVIF、TIFF、BMP 或 RAW不支持的预览/视觉格式Step 3
你的浏览器里挂,无痕窗口里正常缓存脏了或有扩展在挡Step 4
同网络下所有人都挂,开热点就正常代理/广告拦截挡了 CDNStep 6
超大 PDF(100 页以上)或超大图片为省算力跳过了缩略图Step 3 / Step 7
tile 显示 application/octet-stream 或一个通用文件图标拖放导致的 MIME 错配Step 3

截至 2026 年 6 月,claude.ai 网页端上传上限是单文件 30 MB、单次对话最多 20 个文件。图片另有限制:每张最大 5 MB、单次请求最多 20 张。视觉(也就是预览)官方只支持 JPEG、PNG、GIF、WebP——HEIC、AVIF、TIFF、BMP、相机 RAW 都不支持,这正是「文件确实传上去了却始终没缩略图」最常见的原因。

常见原因

按命中率从高到低。

1. 缩略图渲染落后于文件上传

文件已经上传、索引完,但缩略图由一个独立的渲染服务生成,偶尔会延迟几秒。

怎么判断: 等 30 秒重新加载页面。缩略图出来了,那就是这个原因。

2. 不支持的图片格式(HEIC、AVIF、TIFF、BMP、RAW)

Claude 的预览和视觉管线处理 JPEG、PNG、GIF、WebP。其他格式可能能传上去但没缩略图,在网页端还经常根本不会被当成图片接收。最典型的坑:iPhone 拍的照片经常是 HEIC 而不是 JPG,尽管在分享菜单里看着就是普通照片。

怎么判断: 看真实文件扩展名,别看 App 的标签。HEICTIFFAVIFBMP、以及 RAW/DNG/CR2/NEF 是常见嫌疑对象。

3. 客户端和服务端 MIME 类型不一致

有些浏览器(尤其 Safari 拖放时)对认不出来的文件直接打成 application/octet-stream。预览器没法判断该 render 成什么,只好退回到空 tile。

怎么判断: 如果 tile 显示的是通用文件图标而不是对应格式的图标,或者系统报的类型跟聊天里显示的不一样,多半就是 MIME 混乱。改用聊天里的上传按钮,别用拖放。

4. 浏览器缓存留着旧的 render 结果

一次失败的 render 可能在这个浏览器 session 里一直被缓存返回,因为预览 CDN 缓存头很长,而大家很少 hard refresh。

怎么判断: 在无痕窗口里试同一次上传。预览出来了,那就是常用浏览器缓存脏了或者有扩展在干扰。

5. PDF 或图片超出预览管线的阈值

超大 PDF(100 页以上)或超大图片,会为省算力跳过缩略图生成。但文件还是可读的。注意:截至 2026 年 6 月,claude.ai 在标准 200k 上下文模型上的 PDF 页数上限是 100 页,更大的文档会被拆分或拒收。每一页 PDF 内部都被渲染成一张图片,所以密集 PDF 也可能先撞到体积上限而不是页数上限。

怎么判断: 看页数和尺寸。任意一个偏大就对得上。

6. 网络把缩略图 CDN 挡了

企业代理和某些广告拦截会拦三方 CDN 域名。文件上传走主 API 端点没事,但缩略图 CDN 走不通。

怎么判断: 打开 DevTools → Network,过滤 image,找被 block 或者返回 4xx/5xx 的 CDN 子域名请求(通常是 *.anthropic.com 或某个资源主机的子域名)。

开始前

  • 先确认 Claude 确实读到了内容——问一个关于文件的具体问题,比如 What is the title on page 1?(第一页标题是什么)。答得对就说明文件进去了。
  • 想清楚预览对你的工作流到底有多重要,没有预览能不能继续。
  • 准备一个备用浏览器(Safari 用户备 Chrome,反之亦然)。

需要收集的信息

  • 文件真实类型(真实扩展名)、大小、尺寸或页数。
  • 浏览器、版本、OS、当前启用的扩展。
  • tile 显示的是通用文件图标还是图片损坏图标。
  • 网络环境:公司 VPN、公共 Wi-Fi、家庭宽带。
  • 附件 tile 截图,加上 DevTools 控制台报错。
  • 同一对话里别的附件能不能正常显示。

一步一步修复

Step 1:等一下、重新加载

给它 30 秒,再重新加载对话。多数失败的预览第二次加载就恢复了,因为渲染服务这时候赶上了。重新加载是安全的:对话存在服务端,你什么都不会丢。

Step 2:确认 Claude 真的拿到内容

让它:Without re-reading, summarize the file I just attached in two sentences.(不要重读,用两句话总结我刚上传的文件)。总结对得上就说明上传成功、只是预览坏了,你完全可以不修缩略图直接继续。

Step 3:换支持的格式重新上传

转成预览器认得的格式:HEICJPGAVIFPNGTIFF/BMP/RAWJPGPNG。macOS 上用预览 App 打开,走 File > Export;iOS 上文件 App 能导出一份 JPG。单张图片控制在 5 MB 以内、文件总量在 30 MB 以内。PDF 太大就用 Acrobat 或 Smallpdf 压一下,或者拆成每段 100 页以内。换干净版本重传,缩略图通常就出来了。如果之前是在 Safari 里拖放的,改用聊天里的上传按钮,这样能保住正确的 MIME 类型。

Step 4:无痕窗口里重传

在无痕/隐私窗口或 Guest 窗口里打开同一对话(不会加载扩展),重传文件。这里预览能出来,那就说明常用浏览器缓存脏了或者有挡 CDN 的扩展。

Step 5:扩展一个一个关

主浏览器里把扩展关掉刷新。uBlock OriginPrivacy Badger、企业安全扩展是最常见的捣乱者。一个一个开回来,直到预览又挂了为止——这就锁定了元凶,然后在那个扩展里把 claude.ai 加白即可。

Step 6:换个网络试

用手机开热点连一下。蜂窝网下预览能出来,那就是公司或家里的网在挡 CDN。提个工单让 IT 在代理上把 Anthropic 资源/CDN 域名(*.anthropic.comclaude.ai 的资源主机)加白。

Step 7:关键文件走 Files API

如果某个文件必须被可靠地分析,那就彻底绕开网页预览器,改用 Anthropic 的 Files API。上传一次,拿到一个 file_id,之后想引用多少次 Messages 调用都行。截至 2026 年 6 月,Files API 接受单文件最大 500 MB(每组织 500 GB),远高于网页端 30 MB 的上限;它处于 beta,所以需要一个 beta 请求头。上传、列举、取元数据、删除都是免费的,只有文件内容真正被用进请求时才按 input token 计费。

# 上传(返回一个 file_id)
curl -X POST https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "file=@/path/to/document.pdf"

然后在 Messages 请求里把返回的 id 当成 document(PDF/文本)或 image 块引用,写 "source": { "type": "file", "file_id": "..." }。注意你只能下载 Claude 自己生成的文件(来自 Skills 或代码执行),不能下载你自己上传的文件。

怎么验证修好了

  • 上传约 10 秒内 attachment tile 里出现缩略图。
  • 点缩略图能打开全尺寸预览。
  • Claude 能正确回答一个针对内容的具体问题(What does the chart on page 2 show? 第二页那张图说明了什么)。
  • 一分钟后再刷一次对话,缩略图还在(排除一次性缓存未命中)。

长期预防

  • 上传前把 HEICAVIF 转成 JPGPNG,iOS 文件 App 和 macOS 预览 App 都能两三下搞定。
  • 图片控制在 5 MB 以内、PDF 在 30 MB 以内(网页端)。上传前压缩或拆分。
  • 公司代理和广告拦截里把 Anthropic 资源/CDN 域名加白名单。
  • 留一个不装扩展的浏览器 profile 专门做上传密集型的活。
  • 自动化或高吞吐 pipeline 用 Files API 而不是网页端。
  • 如果你主要是想让 Claude 读 PDF 里的图表(不只是文字),在账号菜单(侧边栏左下角)里开 Feature Preview > Visual PDFs,这样每一页也会被当成图片处理。

容易踩的坑

  • 看到没缩略图就以为 Claude 没读到文件。先问个问题确认再重传。
  • 同一个坏文件反复重传。MIME 没变结果也不会变——改格式。
  • 觉得 iPhone 照片分享出来就是 JPG。其实经常是 HEIC,看真实扩展名。
  • 忘了 Safari 拖放有时会丢原始 MIME。改用聊天里的上传按钮。
  • 看到第一页有预览就觉得后面全可读。有时候只有第一页被索引了——用一个关于后面页的问题去验证。

常见问答

  • 没有缩略图 Claude 真的收到文件了吗? 多数情况下是的。让模型总结一下文件,或问它某一页的具体内容,就能确认。
  • 哪些格式预览稳定? 图片:JPGPNGGIFWebP。文档:PDF(以及 TXTCSVMD 的页面文本)。HEICAVIFTIFFBMP、RAW 在视觉/预览上不支持。
  • HEIC 为啥失败? Claude 的视觉/预览管线只支持 JPEGPNGGIFWebPHEIC 不在其中。上传前转 JPG
  • 大小有上限吗? claude.ai 网页端单文件 30 MB、单次对话 20 个文件,图片另外每张限 5 MB(截至 2026 年 6 月)。Files API 支持单文件最大 500 MB。
  • 我的 PDF 超过 100 页——为啥没预览、读得也不全? 网页/PDF 路径在标准 200k 上下文模型上上限约 100 页,每页都被渲染成图片。拆成 100 页以内的小段,或者用 Files API。
  • 重新加载会丢对话吗? 不会。对话存在服务端,只是页面内状态重新加载。

相关

外部参考:Anthropic 视觉/图片格式文档PDF 支持Files API 指南

标签: #Claude #排查 #PDF #排查