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。