约 5 分钟

如何上传文件到 DigitalOcean Spaces 并分享链接

DigitalOcean Spaces 是内置 CDN 的 S3 兼容对象存储。Aktar 的 DigitalOcean Spaces 预设通过 Spaces 访问密钥进行连接。

准备工作

  • 一个 DigitalOcean 账号
  • 已在 Mac 上安装 Aktar

操作步骤

  1. 1

    创建 Space

    在 DigitalOcean 控制面板中,在离你较近的数据中心创建一个 Spaces 存储桶,例如 fra1。如需分享公开链接,建议启用 CDN。

  2. 2

    让上传的文件可公开读取

    Spaces 中的新文件默认是私有的,而 Aktar 不会为单个文件设置权限,因此公开读取需要在存储桶层面配置,例如添加允许 s3:GetObject 的存储桶策略。DigitalOcean 的 Spaces 文档介绍了具体的设置方法。最后一步的“测试连接”会告诉你是否配置成功。

  3. 3

    创建访问密钥

    创建一个对你的存储桶具有读写权限的 Spaces access key,复制 Access Key 和 Secret Key。Secret 只会显示一次。

  4. 4

    在 Aktar 中添加上传目标

    在设置 → 上传目标 → 添加上传目标 中选择 DigitalOcean Spaces,填写下表中的值。

  5. 5

    测试并保存

    点击 测试连接,然后点击 存储。

Aktar 中的设置

在“设置 → 上传目标 → 添加上传目标”中填写以下值。字段名称与应用内保持一致。

字段示例值
服务商DigitalOcean Spaces
端点https://fra1.digitaloceanspaces.com你的 Space 所在区域。
区域fra1
访问密钥 IDDO00…
私有访问密钥••••••••
存储桶your-space
公开基础 URLyour-space.fra1.cdn.digitaloceanspaces.comCDN 地址,或你的自定义 CDN 域名。

小技巧

  • 将 CDN 端点用作公开基础 URL,让链接在离访问者更近的节点缓存。
  • Spaces 的 CDN 支持自定义域名,因此链接可以使用你自己的域名。

故障排查

链接返回 403

上传的文件无法公开读取。请为存储桶添加公开读取策略。参见 Access Denied 错误。

“测试连接”找不到存储桶

检查端点中的区域(例如 fra1)是否与创建 Space 时选择的区域一致。

仍然遇到问题?浏览常见问题,或在 GitHub 上提问。