笔者使用 Chevereto 搭建了个人图床,效果感觉还可以
对于存放图片路径,根据 Chevereto 设置
要么选择**“默认格式”**,所有上传的图片存放到你指定的同一个文件夹下
Chevereto/
└── images/
└── image01.png
└── image02.png
└── image03.png
要么选择**“日期文件夹”**,按日期生成文件夹存放图片(格式/yyyy/mm/dd)
Chevereto/
└── images/
└── 2022/
└── 03/
└── 11/
└── image01.png
└── 12/
└── image02.png
└── image03.png
此项在“仪表盘”-“设置”-“图片上传”中可以找到
所有图片按数据库字段识别图片一些属性,比如所属用户、相册、类别等
但有个小问题,笔者在个人电脑上根据文件夹名进行分类,也希望在图床上相同,如下 category1
和 category2
两个分类
Chevereto/
└── images/
└── category1/
└── image01.png
└── category2/
└── image02.png
└── image03.png
但对于 Chevereto 自带的**“默认格式”,由于只能指定单一的文件夹**,如果你在设置中修改了图像路径,那么 Chevereto 根本识别不出来此前上传在旧图像路径的图片,无法在网页上管理图片
那怎么办?笔者的方法是,为每个类别的图片分别建立一个相册
上传图片前,在设置中修改图像路径为你图片对应的分类文件夹路径,并选择该分类相册
如修改图像路径为 images/category01
,传至相册 category01
上传完毕图片后,在设置中将图像路径改回根图像路径,如 images
随后在数据库 chv_albums
表下可以看到 album_name
字段对应相册名,album_id
字段对应相册 ID
再找到 chv_images
表,可以看到 image_name
字段对应图像名称,那么我们只需要加上路径作为前缀即可
执行下列 SQL 语句,意为将相册 ID 为 1 的所有图像名称,加上 category1/
前缀
UPDATE `chv_images` SET `image_name` = concat('category1/',`image_name`)
WHERE `image_album_id`=1;
SELECT `image_name` FROM `chv_images`
WHERE `image_album_id`=1;
不管怎么说还是有点小麻烦,但随后就能看到 Chevereto 可以识别出各个分类文件夹路径下的图片啦,也就可以在网页上管理图片了