picgo-plugin-minio
picgo-plugin-minio copied to clipboard
添加自定义文件夹或文件名的功能
希望上传目录或上传文件名可以自定义,参考 https://github.com/halo-dev/plugin-s3
如果作者大大有空可以考虑支持一下这个功能,详细信息如下:
以下内容摘自 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
。
示例:
${year}/${month}/${day}/${random-alphabetic:1}
会放在2023/12/01/a
。
halo/${uuid-no-dash}
会放在halo/123E4567E89B12D3A456426614174000
。
上传时重命名文件方式
- 保留原文件名: 使用上传时的文件名。
-
自定义: 使用
自定义文件名模板
中填写的模板,上传时替换相应占位符作后作为文件名。 - 使用 UUID: 上传时会自动重命名为随机的 UUID。
- 使用毫秒时间戳: 上传时会自动重命名为毫秒时间戳(13位时间戳)。
-
使使用原文件名 + 随机字母: 上传时会自动重命名为原文件名 + 随机的小写英文字母,长度请在
随机字母长度
中设置。 -
使用日期 + 随机字母: 上传时会自动重命名为日期 + 随机的小写英文字母,例如
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
时
${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
。
重复文件名处理方式
-
加随机字母数字后缀: 如遇重名,会在文件名后加上4位的随机字母数字后缀,例如
image.png
会变成image_abc1.png
。 -
加随机字母后缀: 如遇重名,会在文件名后加上4位的随机字母后缀,例如
image.png
会变成image_abcd.png
。 - 报错不上传 如遇重名,会放弃上传,并在用户界面提示 Duplicate filename 错误。