资产库
每个项目都有一个媒体库。文件只需上传一次,就会得到一个稳定的 id,任何记录的图片、视频或文件字段都通过该 id 引用它。
上传如何进行
上传分三步。createFileUpload 返回一个有效期为一小时的上传 URL,客户端把字节直接发送到存储,再由一次确认调用返回文件。字节从不经过 GraphQL 端点。这条途径没有单个文件的大小限制,确认时检查的是你的存储额度。单次调用的 REST 上传适用于不超过 10 MB 的小文件。
已登录用户的浏览器可以使用公开密钥和该用户自己的令牌完成整个上传。此时文件归该用户所有,并且默认私有。
从图片中读取什么
对于 JPEG、PNG、WebP 和 GIF,Fóir 会在上传确认时提取宽度、高度、blurhash 占位图和主色。图片字段会在 URL 旁返回这四项。其他尺寸和格式来自图片转换。
文件夹、替代文本与 CLI
文件可以放在文件夹中并带有替代文本,公开 API 会随文件返回这两项。在终端中,foir media 可以上传、列出、更新、删除和恢复文件。
删除与恢复
删除是软删除,恢复可以撤销它。移除已存储的对象是另一项永久性的删除。删除需要 files:delete 作用域,对文件的写入权限并不隐含该作用域。
被拒绝的内容
HTML、JavaScript 和 XML 上传会被拒绝。SVG 被接受,直接打开的 SVG 会在阻止脚本的策略下作为下载提供。