5: 上传
image 和 file 字段类型处理上传的全过程:存储、令牌化的 URL,以及对于图像,缩略图。
5.1: 图像字段
cover: field (type: 'image', title: 'Cover', list: false)
avatar: field (type: 'image', title: 'Avatar', list: false)
一个 image 字段存储两列:文件名 (cover) 和一个令牌 (cover_token)。在上传时,它会写入原始图像和一个缩放的缩略图,并在记录视图中渲染缩略图,链接到完整图像。file 字段则是相同的,但没有图像处理。
5.2: 文件存放位置
应用程序入口点声明存储根:
files: dirname(__DIR__).'/data/uploads/files/',
images: dirname(__DIR__).'/data/uploads/images/',
thumbs: dirname(__DIR__).'/data/uploads/thumbs/',
文件通过一个令牌化的 route 返回,因此无法从行 ID 猜测出 URL。请将 data/uploads/ 排除在 git 之外。
5.3: 模式列
当你手动编写表格(如 SQLite 演示所示)时,请记住图像字段占用两列:
cover TEXT, cover_token TEXT
演示的 seed.phlo 创建了这些列以及关系列。