約 5 分鐘

如何上傳檔案到 Cloudflare R2 並分享連結

Cloudflare R2 和 Aktar 是絕佳組合:沒有傳出流量費用,免費額度足以應付大多數截圖用途,自訂網域還能透過 Cloudflare 的網路提供服務。Aktar 有專屬的 R2 預設組合,所以你只需要帳號 ID、API 權杖和一個儲存貯體。

事前準備

  • 已啟用 R2 的 Cloudflare 帳號
  • 如果想讓連結使用自己的網域,需要一個託管在 Cloudflare 上的網域(選用)
  • 已在 Mac 上安裝 Aktar

操作步驟

  1. 1

    建立儲存貯體

    在 Cloudflare 儀表板中打開 R2 Object Storage,按一下 Create bucket。取一個簡短的名稱,例如 screenshots,位置保留自動選擇即可。

  2. 2

    為儲存貯體設定公開位址

    打開儲存貯體的 Settings。在 Custom Domains 下,連接一個你在 Cloudflare 上管理的網域或子網域,例如 files.example.com。這是正式使用時的最佳選擇。

    如果只是想快速測試,也可以改為啟用 Public Development URL(pub-….r2.dev)。不過 Cloudflare 會對這個 URL 限制速率,也不建議在正式環境中使用。

  3. 3

    建立 API 權杖

    回到 R2 概覽頁面,打開 Manage API tokens,建立一個具有 Object Read & Write 權限、僅限你的儲存貯體使用的權杖。複製 Access Key ID 和 Secret Access Key:私密金鑰只會顯示一次。

    你的 Account ID 也顯示在同一頁,它同時也是 S3 端點 https://<ACCOUNT_ID>.r2.cloudflarestorage.com 的開頭部分。

  4. 4

    在 Aktar 中加入目的地

    打開 Aktar 的設定 → 目的地 → 加入目的地,選擇 Cloudflare R2,並依照下表填寫欄位。Aktar 會根據你的帳號 ID 自動產生端點。

  5. 5

    測試並儲存

    按一下測試連線。Aktar 會上傳一個小型測試檔案,確認可以透過你的公開位址存取,然後再將其刪除。全部顯示綠燈後,按一下儲存,然後把第一個檔案拖到選單列圖像上。

Aktar 中的設定

在「設定 → 目的地 → 加入目的地」中輸入以下值。欄位名稱與 App 中一致。

欄位範例值
服務供應商Cloudflare R2
目的地名稱Personal取任何你喜歡的名稱。
帳號 ID3f9a71c0e2b8…顯示在 R2 概覽頁面。
區域auto保留預設值。
存取金鑰 IDa1b2c3d4…來自 R2 API 權杖。
私密存取金鑰••••••••儲存在 macOS 鑰匙圈中。
儲存貯體screenshots
公開基礎 URLfiles.example.com你的自訂網域或 r2.dev URL。
物件路徑{year}/{month}/{uuid}.{ext}選用,請參閱檔案名稱和資料夾。

小技巧

  • 把 API 權杖限制在 Aktar 使用的那一個儲存貯體。萬一權杖外洩,其他資源也不會受到影響。
  • 自訂網域會由 Cloudflare 快取,熱門連結在全球各地都能快速載入,而且不需額外費用。
  • 想讓資料夾井然有序?可以修改物件路徑,例如改成 shots/{date}/{filename}-{random}.{ext}。請參閱檔案名稱和資料夾。
  • 想讓上傳項目在 1 到 30 天後自動刪除?使用具有 Admin Read & Write 權限的權杖,Aktar 就會幫你加入儲存貯體的生命週期規則。如果是 Object Read & Write 權杖,請在儲存貯體 Settings 的 Object Lifecycle Rules 中自行加入。請參閱會過期的上傳項目。

疑難排解

連結顯示 Access Denied 或 403

請確認公開基礎 URL 是你的自訂網域或 r2.dev URL。…r2.cloudflarestorage.com 端點僅供 API 使用,永遠不會公開提供檔案。詳情請參閱 Access Denied 錯誤。

「測試連線」顯示憑證無效

請使用 R2 API 權杖的 Access Key ID 和 Secret Access Key,而不是一般的 Cloudflare API 權杖或 Global API Key。也請確認帳號 ID 中沒有多餘的空格。

上傳正常,但連結載入很慢或受到速率限制

你可能正在使用 r2.dev 開發用 URL。正式使用時請連接自訂網域。

還是卡住了?瀏覽常見問題,或到 GitHub 上提問。