浏览器里能看见照片,不代表页面一定有权把它的像素读出来并导出。某张远程图片可以显示正常,却让整张 HTML 画布无法生成下载文件。如果明确报的是画布 SecurityError,应先查图片进入编辑器的路径,不要立即花积分重新生成。只有“下载按钮没反应”,还不足以确定根因。
分清显示图片与读出像素
MDN 的跨源图片指南说明:未经所需 CORS 许可的跨源图像一旦画入画布,就可能让画布失去可读出状态。它属于浏览器安全边界,不表示照片构图、清晰度或 AI 内容有错。图片在独立标签里能打开,也不能证明另一页面有权读出包含它的整张合成。
先记下失败发生在哪一步:源图没有加载、画面没有绘制、导出画布时报错,还是已经生成文件但保存失败。这几个检查点不能混为一谈。保留编辑工程和完整错误类型;如果已下载文件其实是登录网页,应走取回图片数据的排查,而不是直接诊断成画布污染。
在副本做两个输入的对照
用自己有权使用的无敏感测试图,建立新项目副本。先通过编辑器实际支持的文件上传入口放入一张小而可解码的本地图,再单独记录导致失败之前加入的远程来源。不要删除唯一工程,也不要为了让按钮可点,就把用户批准的主体换掉。
| 检查副本 | 应记录的观察 |
|---|---|
| 只有许可本地图的新项目 | 普通导出是否得到能解码的图片 |
| 加入远程图之后的副本 | 同一导出是否出现画布安全错误 |
| 经批准路径修复后的文件 | 主体、裁切和尺寸是否仍符合要求 |
这是待执行的原创排查方案,没有声称本文运行了浏览器实验。两个副本行为不同,只能帮助定位输入路径,不能证明所有远程图加入后的故障都由同一机制引起。有些编辑器采用服务器生成导出,实际架构与纯浏览器画布不同,需要以当前产品为准。
换受支持的路径,而不是重做照片
若有授权,可从素材提供方正常下载真实图片,再用支持的文件上传入口导入;也可由服务运营方提供保留权限的图片加载路径。页面请求与来源服务器需要配合,往 AI 提示词里写一个 CORS 参数不能授予访问权限。普通用户不需要为了排查而修改网站代码。
私人参考图应继续保持私人访问范围。把它交给公开图片代理、分享账号令牌,或关闭浏览器保护,不属于日常导出修复步骤。向运营方说明哪种受支持路径能保留原访问限制,再通过那条路径重建对照。仅在原图上涂一块颜色,也不能证明此前失去可读出状态的画布已经恢复。
用可复现说明交给支持人员
在工程副本里,有权使用的本地图可以导出,加入该远程参考后,导出阶段出现已记录的 SecurityError。请保留批准构图,检查输入请求及获许可的图片响应,不要重新提交生成。修复后验证下载能作为图片打开,且裁切和尺寸正确。
MDN 的 toBlob 文档列出这类导出异常。私下提供已去敏的错误类型、项目标识和不敏感来源主机即可,不应公开带签名地址、令牌或完整网络记录。用 Imagild Skills准备素材时,仍以真实编辑器和导入入口为准;本文没有宣称 Imagild 当前存在此缺陷或提供浏览器配置。只有所需合成确实导出,接收文件也通过检查,才算完成修复。