Open liheji opened 3 months ago
希望上传目录或上传文件名可以自定义,参考 https://github.com/halo-dev/plugin-s3
如果作者大大有空可以考虑支持一下这个功能,详细信息如下:
以下内容摘自 https://github.com/halo-dev/plugin-s3
上传到对象存储的目录,前后/可省略,例如/halo和halo是等价的。
/
/halo
halo
支持的占位符有:
${uuid-with-dash}
-
${uuid-no-dash}
${timestamp-sec}
${timestamp-ms}
${year}
${month}
${day}
${weekday}
${hour}
${minute}
${second}
${millisecond}
${random-alphabetic:X}
X
${random-alphabetic:5}
abcde
${random-num:X}
${random-num:5}
12345
${random-alphanumeric:X}
${random-alphanumeric:5}
abc12
示例: ${year}/${month}/${day}/${random-alphabetic:1}会放在2023/12/01/a。 halo/${uuid-no-dash}会放在halo/123E4567E89B12D3A456426614174000。
示例:
${year}/${month}/${day}/${random-alphabetic:1}
2023/12/01/a
halo/${uuid-no-dash}
halo/123E4567E89B12D3A456426614174000
自定义文件名模板
随机字母长度
2023-12-01-abcdefgh.png
2023-12-01T09:30:01-abcdef.png
仅当上传时重命名文件方式为使用原文件名 + 随机字母或使用日期 + 随机字母或使用日期时间 + 随机字母或使用随机字母时出现,用于设置随机字母的长度。
上传时重命名文件方式
使用原文件名 + 随机字母
使用日期 + 随机字母
使用日期时间 + 随机字母
使用随机字母
仅当上传时重命名文件方式为自定义时出现,用于设置自定义文件名模板。
自定义
${origin-filename}
示例: 当原始文件名为image.png时 ${origin-filename}-${uuid-with-dash}会生成image-123E4567-E89B-12D3-A456-426614174000.png。 ${year}-${month}-${day}T${hour}:${minute}:${second}-${random-alphanumeric:5}会生成2023-12-01T09:30:01-abc12.png。 ${uuid-no-dash}_file_${random-alphabetic:5}会生成123E4567E89B12D3A456426614174000_file_abcde.png。 halo_${origin-filename}_${random-num:3}会生成halo_image_123.png。
示例: 当原始文件名为image.png时
image.png
${origin-filename}-${uuid-with-dash}
image-123E4567-E89B-12D3-A456-426614174000.png
${year}-${month}-${day}T${hour}:${minute}:${second}-${random-alphanumeric:5}
2023-12-01T09:30:01-abc12.png
${uuid-no-dash}_file_${random-alphabetic:5}
123E4567E89B12D3A456426614174000_file_abcde.png
halo_${origin-filename}_${random-num:3}
halo_image_123.png
image_abc1.png
image_abcd.png
实现并不难,就是有点繁琐。观望下,需要的人多,在弄
希望上传目录或上传文件名可以自定义,参考 https://github.com/halo-dev/plugin-s3
如果作者大大有空可以考虑支持一下这个功能,详细信息如下:
上传目录
上传到对象存储的目录,前后
/
可省略,例如/halo
和halo
是等价的。支持的占位符有:
${uuid-with-dash}
:带有-
的 UUID${uuid-no-dash}
:不带-
的 UUID${timestamp-sec}
:秒时间戳(10位时间戳)${timestamp-ms}
:毫秒时间戳(13位时间戳)${year}
:年份${month}
:月份(两位数)${day}
:日期(两位数)${weekday}
:星期几,1-7${hour}
:小时(24小时制,两位数)${minute}
:分钟(两位数)${second}
:秒(两位数)${millisecond}
:毫秒(三位数)${random-alphabetic:X}
:随机的小写英文字母,长度为X
,例如${random-alphabetic:5}
会生成abcde
。${random-num:X}
:随机的数字,长度为X
,例如${random-num:5}
会生成12345
。${random-alphanumeric:X}
:随机的小写英文字母和数字,长度为X
,例如${random-alphanumeric:5}
会生成abc12
。上传时重命名文件方式
自定义文件名模板
中填写的模板,上传时替换相应占位符作后作为文件名。随机字母长度
中设置。2023-12-01-abcdefgh.png
。2023-12-01T09:30:01-abcdef.png
。随机字母长度
中设置。随机字母长度
仅当
上传时重命名文件方式
为使用原文件名 + 随机字母
或使用日期 + 随机字母
或使用日期时间 + 随机字母
或使用随机字母
时出现,用于设置随机字母的长度。自定义文件名模板
仅当
上传时重命名文件方式
为自定义
时出现,用于设置自定义文件名模板。支持的占位符有:
${origin-filename}
:原文件名${uuid-with-dash}
:带有-
的 UUID${uuid-no-dash}
:不带-
的 UUID${timestamp-sec}
:秒时间戳(10位时间戳)${timestamp-ms}
:毫秒时间戳(13位时间戳)${year}
:年份${month}
:月份(两位数)${day}
:日期(两位数)${weekday}
:星期几,1-7${hour}
:小时(24小时制,两位数)${minute}
:分钟(两位数)${second}
:秒(两位数)${millisecond}
:毫秒(三位数)${random-alphabetic:X}
:随机的小写英文字母,长度为X
,例如${random-alphabetic:5}
会生成abcde
。${random-num:X}
:随机的数字,长度为X
,例如${random-num:5}
会生成12345
。${random-alphanumeric:X}
:随机的小写英文字母和数字,长度为X
,例如${random-alphanumeric:5}
会生成abc12
。重复文件名处理方式
image.png
会变成image_abc1.png
。image.png
会变成image_abcd.png
。