事件
全球最大圖床之一的 Imgur 是許多網友的最熟悉放圖工具之一
大約從 2025 年 5 月 16 日上午開始,開始針對台灣地區的 ip 進行封鎖
原因尚未對外公開說明,這讓原本使用 imgur 的人都開始找其他空間放圖片
[問卦] Imgur要壞到什麼時候啊==? - 看板 Gossiping - 批踢踢實業坊
為什麼要用 cloudflare r2 呢?
- 因為雖然是免費,但超過用量也是要付費的,而且至少是類似在自己的雲端硬碟上
- cloudflare 有一堆 CDN,速度也算快
以下有簡單比較
想達到的目標
藉由圖片上傳工具,讓寫作、筆記時,可以將圖片存到 cloudflare r2 空間
我使用的工具
-
PicGo/PicGo-Core: :zap:A tool for pictures uploading. Both CLI & API supports.
picgo 是一個開源圖片上傳工具
支援很多圖片空間,可以讀取剪貼簿的圖片上傳 -
wayjam/picgo-plugin-s3: PicGo S3 插件
這邊需要安裝 picgo s3 套件,才能將圖片上傳到 cloudflare r2
安裝以及設定
安裝全部用 npm 搞定
npm install picgo -g
picgo install picgo-plugin-s3
基本設定
使用 set uploader 指令
picgo set uploader
會有選項出來,只要依照步驟填寫即可
要填的選項有這些,不確定的就直接按 enter、已廢棄的不用填
進階設定
如果有 custom domain
上面設定好之後,要到 /Users/user/.picgo/config.json
去調整 outputURLPattern
這樣上傳圖片後 ,這樣最後輸出的連結才會正確連到 r2 圖片
調整邏輯就是:
custom domain + uploadPath
但不能直接複製貼上 uploadPath,因為,在不同項目有不同的結果
同樣的 fileName 一個沒有包含副檔名、一個有包含
- uploadPath -> 沒有
- outputURLPattern -> 有
也不能使用 path
,因為這樣會包含 bucket name,造成沒辦法正確連到圖片
所以必須用組合的方式,把網址組合出來 👇🏻
"uploadPath": "{year}/{month}/{fileName}.{extName}",
"outputURLPattern": "https://pic.staynotes.dev/{year}/{month}/{fileName}"
完成
設定好之後,確定剪貼簿有圖片,再使用 cli 輸入 picgo upload
如果都沒問題,就會成功上傳了,且網址也會是對的!