階段 4 · 資料放哪、怎麼串
物件儲存 Object Storage
用來放圖片、PDF、影片、上傳檔案等非資料表資料的儲存服務。
先用一句話理解
用來放圖片、PDF、影片、上傳檔案等非資料表資料的儲存服務。
打個比方
像倉庫放箱子,每個箱子有自己的地址。
什麼時候會遇到
使用者會上傳檔案、需要保存圖片或產生下載檔時。
再往深一點看
物件儲存專門解決「二進位檔案要存哪」的問題:圖片、PDF、影片、使用者上傳的文件,這些資料不適合放進資料庫欄位,而是上傳到物件儲存服務,換回一個 URL,資料庫只存這個 URL。與資料庫不同,物件儲存不做查詢、不跑 SQL,它的設計目標是高耐久、高可用、低成本地存大量檔案。AWS S3 是最知名的物件儲存服務,Supabase Storage 和 Cloudflare R2 是較親近開發者的替代方案。配合 CDN 使用,還能讓世界各地的使用者快速載入同一張圖片。
舉個例子
你做一個個人資料頁面,使用者可以上傳大頭照:前端直接把圖片上傳到 Supabase Storage,取得一個公開 URL;後端只把這個 URL 存進 users 表的 avatar_url 欄位。下次使用者載入個人頁面,前端直接用那個 URL 顯示圖片,圖片不走你的伺服器。
常見誤解
- - 把使用者上傳的檔案存到伺服器本機硬碟,一旦容器重啟或部署到多台機器,檔案就消失或找不到。
- - 讓所有上傳的檔案都公開可存取,沒有設存取控制,私人文件(如合約、收據)任何人知道 URL 就能下載。
- - 把大型檔案直接傳給後端再轉存,浪費後端資源;應改用 presigned URL 讓前端直接上傳到物件儲存,後端只驗證結果。
相關名詞
相關服務
AWSSupabaseCloudflare Pages