权限问题,图片无法加载

私有 base 中,通过 API Token 上传到图片列的文件,登录用户网页端加载返回 403,图片无法显示;浏览器手动上传正常。请排查文件在 base asset 库的读权限。

环境

  • 部署形态:cloud.seatable.cn 私有 base(workspace 571214,base uuid 6ddb30b7,base 名「日常物品购买清单」)

  • 客户端:网页端(登录态)操作

  • 现象出现时间:2026-08 起

现象

  • 表格「图片」列(image 类型)中,通过 API Token 程序上传的图片完全不显示(缩略图空白,浏览器控制台 <img> 请求返回 HTTP 403 Forbidden)。

  • 同一列,在网页端手动拖拽上传的图片可以正常显示。

  • 表格普通编辑(增删改行、文本/数字列)一切正常 → dtable-server 写服务可用,问题仅限图片/文件列的读取渲染

复现步骤

  1. 用 base 的 API Token 调 GET /api/v2.1/workspace/{ws}/dtable-asset-upload-link/?name={base中文名} 拿到 upload_link;

  2. 把图片 POST 到 seafhttp 的 upload_link(ret-json=1),文件确实写入了 /asset/{base-uuid}/images/...

  3. 把返回的文件对象({type,name,url,size})写回行的图片列;

  4. 用同一登录用户的浏览器打开该表 → 图片列空白,Network 里该图片 URL 返回 403。

期望行为:通过 API Token 上传并正确写回图片列的文件,登录用户网页端应能正常加载显示(与手动上传一致)。

已排除

  • 不是图片格式问题(手动传同格式可显示);

  • 不是路径格式问题(已用绝对 asset 路径,文件确实存在于 asset 库);

  • 不是写服务宕机(其他列编辑正常)。

怀疑方向(供支持参考):API Token 上传落到 base asset 库的文件,读权限/归属未正确关联到 base 成员会话,导致网页端带 session 读取时被 403。疑似 asset 库(Seafile 库)权限传播问题,而非前端渲染问题。