Skip to main content
Cloudflare Workers · Cloudflare R2 · JavaScript · Serverless · Wrangler

專案概述

以 Cloudflare Workers 為運算層、Cloudflare R2 為物件儲存,實作無伺服器的檔案上傳與管理介面。預設無檔案大小限制,特別適合存放機器學習模型權重(.pt.ckpt.safetensors 等)。前端可部署於 Cloudflare Pages、GitHub Pages,或在本機直接開啟 HTML 檔案。後端 Worker 透過 wrangler CLI 部署與管理。

介面預覽

點「模擬上傳」感受實際的拖放上傳流程(此為前端 mock,不會真的上傳檔案)。

核心功能

  • 無檔案大小限制,適合上傳大型模型檔案
  • 拖放上傳介面,即時顯示進度與預估剩餘時間
  • 自動偵測檔案類型並顯示對應圖示
  • 支援圖片預覽與所有檔案格式的下載
  • 刪除已上傳的檔案
  • Cloudflare Workers 處理上傳、下載、刪除的 API 請求
  • 前端部署彈性:Cloudflare Pages、GitHub Pages 或本機靜態檔案均可

專案架構

前後端分離。Worker 以 wrangler deploy 部署到 Cloudflare 邊緣,前端只需設定正確的 Worker URL 即可獨立託管。

快速開始

1

安裝 wrangler CLI 並登入

2

建立 R2 Bucket

3

設定 wrangler.toml

依實際需求填入 Worker 名稱、Bucket binding 與名稱:
4

更新前端 API URL

frontend/app.js 中,將 API_URL 改為實際的 Worker 端點:
5

部署 Worker

6

部署或開啟前端

frontend/ 目錄上傳至 Cloudflare Pages 或 GitHub Pages,或直接在瀏覽器開啟 frontend/index.html

安全提醒

預設 CORS 設定為 *(允許所有來源),且系統沒有任何身份驗證機制。任何知道 Worker URL 的人均可上傳、下載或刪除檔案。用於生產環境前,必須加入身份驗證並將 CORS 限縮至特定來源,否則等同公開存取。此外,R2 儲存用量可能產生 Cloudflare 費用,請留意用量上限。

實際應用面

適合個人或小型團隊在不想維運後端伺服器的前提下,需要一個可存放大型二進位檔案(模型權重、資料集壓縮包)的私有臨時儲存點。也可作為學習 Cloudflare Workers 與 R2 整合的起點專案。

相關連結