实用教程

用 Claude Opus 5.5 修复只打开页面、不下载的商品链接

商品 PDF 或广告图片点击后只是打开页面时,先让 Claude Opus 5.5 追踪最终来源和响应头。给链接加 `download` 属性,并不能控制任意外部服务器。先区分普通跳转、服务器指定附件下载,以及获得许可后的 fetch-to-Blob 流程,再选择修改方式。

虚构商品 · 广告示例

用 Panelly 做出来

把灵感,变成你的商品广告

上传一张商品图,聊聊想法。用 Panelly 制作四格广告、整套素材,或把图片变成视频。

去 Panelly 创作 先编辑需求,再决定生成。
AI 编辑概念图:蓝色瓶子印稿通过赭色细线相连,连接处放着黄铜放大镜。

商品 PDF 或广告图片点击后只是打开页面时,先让 Claude Opus 5.5 追踪最终来源和响应头。给链接加 download 属性,并不能控制任意外部服务器。先区分普通跳转、服务器指定附件下载,以及获得许可后的 fetch-to-Blob 流程,再选择修改方式。

先选对交付机制

场景检查对象候选方案
文件与页面同源链接和响应处置方式普通下载链接,按目标浏览器验收
文件位于可控制的素材主机最终响应头用附件响应和合适文件名交付
JavaScript 要读取外部文件CORS 许可、大小和授权确有必要且获准时才 fetch 为 Blob

MDN 链接元素说明将 download 属性限定于同源 URL 及 blob:、data: 协议。Content-Disposition 说明介绍了附件处理。允许脚本读取响应的 CORS,与服务器指定下载处置,是两个不同问题;加一个宽松的 CORS 头并不能普遍修好外链下载。

比较来源,不要只看域名眼熟

假设页面位于 https://shop.example,/files/spec.pdf 与它同源。https://assets.shop.example/spec.pdf 虽然共享父域,仍不同源。https://shop.example:8443/spec.pdf 因端口不同也不同源;https://shop.example:443/spec.pdf 则会归一化为同一 HTTPS 来源。这四组 URL 比较已在本地计算,没有执行远程下载。

记录完整重定向链。看似同源的链接可能最后跳到其他主机;过期签名链接可能返回错误文档;HTTP 200 也可能是 HTML,而不是预期 PDF。共享报告中不要保留签名查询参数。检查最终状态、内容类型、处置方式和文件身份,不要把任何保存下来的文件都当作下载成功。

限定范围的修复提示词

根据链接 HTML、页面来源、去敏后的重定向链和最终响应头检查商品下载。分别判断普通跳转、附件交付和 fetch-to-Blob。将 https://shop.example 与 /files/spec.pdf、https://assets.shop.example/spec.pdf、https://shop.example:8443/spec.pdf、https://shop.example:443/spec.pdf 比较,解释同源差异。只使用我们控制的主机和已经获得的权限提出最小修复。保留访问检查、签名过期规则、TLS 和用户主动点击。不要增加无限制代理或关闭浏览器保护。输出所需响应头、文件名行为、加载与失败状态,以及真实 PDF、过期链接、未授权响应的测试。验证文件内容,而不仅是扩展名。标明未执行的测试,隐藏私密查询令牌。

模型参考是官方 Opus 指南;这里是拟议审查流程,不是模型或浏览器下载实测。2015 年的社区问题记录了相同的 CORS 与下载混淆,但其中历史浏览器细节没有被当作当前兼容性事实。

验收真正保存的文件

如果服务器由你控制,候选响应可以是 Content-Disposition: attachment; filename="product-spec.pdf",同时提供正确内容类型和经过授权的文件。检查重定向后的最终响应。国际化文件名应按服务器支持的编码方式和浏览器实际表现验收,不要把未验证的名称直接拼进响应头。

Blob 流程可能需要在内存中持有大量数据,还必须处理请求失败、取消和对象 URL 清理。不要只是为了重命名大文件就引入它。完成提示应对应应用真正能观察到的步骤;打开标签页或收到响应头,不能证明用户已经保存了完整文件。不同浏览器设置导致行为不同时,应提供清楚的备用链接。

成功交付后如果出现重名,参考Unicode 文件名指南。在 Panelly Studio 制作广告素材后,用真实保存的文件验收自己的交付路径。这不表示 Panelly 集成 Opus,也不表示本文实测过 Panelly 的下载实现。

下载常见问题

父域相同就算同源吗?

不是。协议、主机和有效端口共同决定来源,子域名变化也可能改变来源。

附件响应头能覆盖所有用户偏好吗?

不能。浏览器和用户设置都会影响处理方式。需要验收目标客户端,并提供可用的备用方案。

找个公共代理能解决吗?

不要把受保护或带签名的素材发送给任意代理。应修复自己控制的交付端点,同时保留授权与过期规则。

资料与延伸阅读

Four panels. One ad.

让下一张广告,从这里开始。

聊聊商品、卖点和使用场景,让 Panelly 帮你创作四格广告。

开始创作 ↗查看次数包