logo
0
0
Login

picgo-plugin-revanced-dogecloud

PicGo Enhanced 多吉云(dogecloud)上传插件。支持 PicGo GUI 。

多吉云(dogecloud)云存储使用的是腾讯云COS或阿里云OSS作为存储空间的底层服务,支持AWS S3 SDK上传。由于并非自家开发的底层存储服务,所以相较于通用的AWS S3 SDK上传,要多传输一个临时sessionToken。而现有的picgo-plugin-s3无法直接使用,因此拿来小小改了一下,感谢前任开发者wayjam

关于此插件的详细说明可见《PicGo插件:上传到多吉云存储》

特别鸣谢

特别感谢开发者@mingxuan对本插件的杰出贡献,从而大大简化了使用本插件的流程。

特别感谢开发者@dwxh对插件适配新版picgo-core的巨大帮助。

新功能特性

  • 新增:自动添加元数据(MD5、时间戳、标记)
  • 新增:UUID 占位符支持,避免文件名冲突
  • 新增:多域名随机选择功能
  • 新增:Content-Disposition 设置,确保下载时文件名正确

使用说明

使用本插件的必需条件是,你首先应当创建一个标准存储空间,因为只有标准存储才支持 SDK 操作

1.在密钥管理页面获取AccessKeySecretKey

2.在云存储中选择对应的空间列表,点击右侧SDK参数,记录s3Bucket

填入配置

Key说明例子
AccessKey用户AccessKey1v80b5xxxxx9sc9b0
SecretKey用户SecretKey6adcaf272xxxxxxxx52f26ddsad244cb
bucketNames3buckets-gz-2384-xxxxxxx
urlPrefix存储空间绑定的CDN域名(支持多域名,逗号分隔)https://img1.example.com, https://img2.example.com
uploadPath上传路径{year}/{month}/{uuid}.{extName}
urlSuffix自定义后缀/shuiyin
addMetadata是否在上传时添加 MD5 等元数据true

填写图示

上传路径为空则默认以原始文件名上传到根目录,如指定目录则必需添加 payload:

payload描述
{year}当前日期 - 年
{month}当前日期 - 月
{day}当前日期 - 日
{fullName}完整文件名(含扩展名)
{fileName}文件名(不含扩展名)
{extName}扩展名(不含.
{md5}图片 MD5 计算值
{sha1}图片 SHA1 计算值
{sha256}图片 SHA256 计算值
{uuid}唯一标识符(UUID v4)

示例

GUI端配置参考上方"配置",忽略此项。

"dogecloud-v2": { "AccessKey": "xxxxxxx", "SecretKey": "xxxxxxxxxxxx", "bucketName": "s-gz-2384-xxxxxxx", "uploadPath": "{year}/{uuid}.{extName}", "urlPrefix": "https://img1.example.com, https://img2.example.com", "addMetadata": true }

如果 PicGo 像以上配置,执行上传:picgo upload sample.png,则最终得到图片地址为:https://img1.example.com/2022/123e4567-e89b-12d3-a456-426614174000.png

元数据功能

当启用 addMetadata 选项时,插件会在上传时为每个文件添加以下元数据:

  • md5: 文件的 MD5 哈希值
  • timestamp: Unix 时间戳
  • set: 标记为已设置元数据

这些元数据可以通过 S3 兼容的客户端或 API 查询,便于文件管理和验证。

新功能特性

1. 自动元数据添加

上传时自动为每个文件添加以下元数据:

  • x-amz-meta-md5: 文件的 MD5 哈希值
  • x-amz-meta-timestamp: Unix 时间戳
  • x-amz-meta-set: 标记为已设置元数据

2. UUID 支持

  • 新增 {uuid} 占位符,每次上传生成唯一标识符
  • 避免文件名冲突,特别适合批量上传场景
  • 示例:{year}/{month}/{uuid}.{extName}

3. 多域名支持

  • urlPrefix 支持多个域名,用英文逗号分隔
  • 上传后随机选择其中一个域名作为图片链接前缀
  • 示例:https://img1.example.com, https://img2.example.com

4. Content-Disposition

  • 自动设置 inline; filename="原始文件名"
  • 确保下载时文件名正确,提升用户体验

TODO:

12/04/2025 已解决此前所有遗留的问题,更新了 aws-sdk 的版本。

v3.6.0 更新内容:

  • ✅ 新增元数据功能,支持在上传时添加 MD5、时间戳和标记
  • ✅ 添加 addMetadata 配置选项,用户可选择是否启用元数据功能
  • ✅ 新增 UUID 占位符支持,避免文件名冲突
  • ✅ 新增多域名随机选择功能
  • ✅ 新增 Content-Disposition 设置
  • ✅ 优化上传逻辑,提升文件管理能力
  • ✅ 更新插件 ID 为 dogecloud-v2,避免与原版插件冲突

发布

With the following command, a versioned commit which modifies the version of package.json would be genereated and pushed to the origin. Github Action will automatically compile this pacakage and publish it to NPM.

npm run patch npm run minor npm run major

开源许可

Released under the MIT License.

About

PicGo / PicList 插件,支持 dogecloud 多吉云。

160.00 KiB
0 forks0 stars1 branches0 TagREADMEMIT license
Language
TypeScript76%
Markdown20%
License3.2%
gitignore0.9%