依据 agent-node-xinting 的缺陷报告(s3.fmode.cn/user/dhv9yTqK6K/skill-storage-mime-bug-report/report.md)修复。
mimeType:putViaCloudFunction 从不向云函数传 mimeType,导致对象
Content-Type 恒为 application/octet-stream → 浏览器下载而非渲染,HTML 报告分享后打不开。
预签名 URL 的签名绑定 Content-Type,必须在申请时就传对,PUT 阶段补救会 403。guessMime():按扩展名推断 MIME,覆盖 30+ 常见类型
(html/css/js/mjs/json/txt/md/csv/xml/svg/png/jpg/gif/webp/ico/pdf/zip/音视频/字体/Office)。--mime 显式覆盖:应对未知或特殊类型。normalizeKey() 双层前缀防护:--key 若已带 user/<id>/,云函数会再补一层
变成 user/<id>/user/<id>/...。现自动剥离并打印告警。fmode-identity.json 兜底:容器普遍只有
/opt/data/fmode-identity.json(字段 session_token)带 token,缺此兜底会误报「缺 token」
并打印初始化向导退出。实测 34 台容器中 32 台属此情况。mimeType:便于核对,降低排查成本。| 文件 | Content-Type | 结果 |
|---|---|---|
index.html |
text/html; charset=utf-8 |
✅ 浏览器渲染(修复前 octet-stream → 下载) |