把 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 |
| 同网络下所有人都挂,开热点就正常 | 代理/广告拦截挡了 CDN | Step 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 的标签。HEIC、TIFF、AVIF、BMP、以及 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:换支持的格式重新上传
转成预览器认得的格式:HEIC 转 JPG,AVIF 转 PNG,TIFF/BMP/RAW 转 JPG 或 PNG。macOS 上用预览 App 打开,走 File > Export;iOS 上文件 App 能导出一份 JPG。单张图片控制在 5 MB 以内、文件总量在 30 MB 以内。PDF 太大就用 Acrobat 或 Smallpdf 压一下,或者拆成每段 100 页以内。换干净版本重传,缩略图通常就出来了。如果之前是在 Safari 里拖放的,改用聊天里的上传按钮,这样能保住正确的 MIME 类型。
Step 4:无痕窗口里重传
在无痕/隐私窗口或 Guest 窗口里打开同一对话(不会加载扩展),重传文件。这里预览能出来,那就说明常用浏览器缓存脏了或者有挡 CDN 的扩展。
Step 5:扩展一个一个关
主浏览器里把扩展关掉刷新。uBlock Origin、Privacy Badger、企业安全扩展是最常见的捣乱者。一个一个开回来,直到预览又挂了为止——这就锁定了元凶,然后在那个扩展里把 claude.ai 加白即可。
Step 6:换个网络试
用手机开热点连一下。蜂窝网下预览能出来,那就是公司或家里的网在挡 CDN。提个工单让 IT 在代理上把 Anthropic 资源/CDN 域名(*.anthropic.com 和 claude.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?第二页那张图说明了什么)。 - 一分钟后再刷一次对话,缩略图还在(排除一次性缓存未命中)。
长期预防
- 上传前把
HEIC、AVIF转成JPG或PNG,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 真的收到文件了吗? 多数情况下是的。让模型总结一下文件,或问它某一页的具体内容,就能确认。
- 哪些格式预览稳定? 图片:
JPG、PNG、GIF、WebP。文档:PDF(以及TXT、CSV、MD的页面文本)。HEIC、AVIF、TIFF、BMP、RAW 在视觉/预览上不支持。 - HEIC 为啥失败? Claude 的视觉/预览管线只支持
JPEG、PNG、GIF、WebP,HEIC不在其中。上传前转JPG。 - 大小有上限吗? claude.ai 网页端单文件 30 MB、单次对话 20 个文件,图片另外每张限 5 MB(截至 2026 年 6 月)。Files API 支持单文件最大 500 MB。
- 我的 PDF 超过 100 页——为啥没预览、读得也不全? 网页/PDF 路径在标准 200k 上下文模型上上限约 100 页,每页都被渲染成图片。拆成 100 页以内的小段,或者用 Files API。
- 重新加载会丢对话吗? 不会。对话存在服务端,只是页面内状态重新加载。
相关
- Claude 文件上传卡在 processing
- Claude artifact 显示空白
- Claude 读 PDF 表格抽错列
- Claude 手机 App 同步坏了
- Claude 文件生成额度问题
- Claude 对话导出失败