事件

全球最大圖床之一的 Imgur 是許多網友的最熟悉放圖工具之一
大約從 2025 年 5 月 16 日上午開始,開始針對台灣地區的 ip 進行封鎖
原因尚未對外公開說明,這讓原本使用 imgur 的人都開始找其他空間放圖片

[問卦] Imgur要壞到什麼時候啊==? - 看板 Gossiping - 批踢踢實業坊

為什麼要用 cloudflare r2 呢?

  • 因為雖然是免費,但超過用量也是要付費的,而且至少是類似在自己的雲端硬碟上
  • cloudflare 有一堆 CDN,速度也算快

以下有簡單比較 image.png

想達到的目標

藉由圖片上傳工具,讓寫作、筆記時,可以將圖片存到 cloudflare r2 空間

我使用的工具

安裝以及設定

安裝全部用 npm 搞定

npm install picgo -g
picgo install picgo-plugin-s3  

基本設定

使用 set uploader 指令

picgo set uploader

會有選項出來,只要依照步驟填寫即可
image.png

要填的選項有這些,不確定的就直接按 enter、已廢棄的不用填

image.png

進階設定

如果有 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 如果都沒問題,就會成功上傳了,且網址也會是對的! image.png