当前位置: 首页 > news >正文

圖牀遷移 Cloudflare R2

不得不說 CF 是互聯網界的活菩薩,免費提供的對象存儲量大管飽,對我這種沒人看的小透明足夠了:

  • 存儲:10GB/月免費,每增加 1GB/月收取 0.015 美元
  • A 類操作:100 萬次操作/月免費,每增加 100 萬次操作收取 4.50 美元
  • B 類操作:1000 萬次操作/月免費,每增加 100 萬次操作收取 0.36 美元
  • 出口流量費全免

[!TIP]
什麼意思呢?只有訪問次數計入賬單(A 類上傳,B 類訪問),無論多大的文件,流量費全免!

2026 年了,我可能是最後一個知道 Cloudflare R2 的人了吧,PicList + (Cloudflare R2) S3API,可能是博客圈的一套標準答案了。

我之前一直用 GitHub / NPM 存圖片,然後用一些公共的 CDN 做圖牀,其實也算方便,如果 CDN 有一天不能用了,或者我掛逼了,可以直接按規則把前綴改一下,圖片就都回來了。

爲什麼還要大動干戈,轉移到 Cloudflare 呢?

因爲我最近有傳視頻的需求了,之前我的博客很少有圖片,幾乎沒有視頻,我還能考壓縮把他們壓縮到 1M,512KB 內,所以最終 GitHub 倉庫不會很大,還能接受。

但這次我的視頻是 3M,已經不能簡單的壓縮了,上傳 GitHub 容易引起提及暴漲,並且對 GitHub 來說,圖牀其實已經是算違規操作了,按最近全球去微軟,GitHub Copilot 被薅羊毛的趨勢,財大氣粗的微軟可能也不一定靠譜。

沒有辦法,最終選擇看看 CF 吧。

大體遷移流程類似: https://zhuanlan.zhihu.com/p/2003661503337886355

我就不贅述了,我就簡單說遷移前後的一些心得:

二次壓縮

因爲最開始上傳 GitHub 用的 PicGo,那時還沒有大小管理的概念,所以上傳的圖片大多比較大,這次遷移,正好可以乘次機會再壓縮一遍:

我的圖片大多是 PNG,可以藉助 https://pngquant.org 工具通過如下命令無損壓縮

pngquant --force --ext .png *.png

就算圖片有其他格式,也可以通過 magick 轉換爲 PNG,執行上述操作

magick frieren.jpg frieren.png

如果效果不理想,那麼只能犧牲品質,進行有損壓縮

pngquant --force --ext .png --quality=60-80 frieren.png

PicList 管理圖片和上傳圖片配置

我不理解爲什麼這兩個功能分開,因爲部分功能有重複。

但是如果想要用兩個功能(管理和上傳),最簡單的辦法就是 TOKEN 配置的時候配置管理員讀寫 [1]

如果僅僅是上傳的話,配置第三個,對象讀寫的權限就完全可以勝任。

最終效果如下:

自定義域名

我一開始有設置這個 ,但發現好像沒啥必要。

因爲域名也有過期的一天,如果有一天我掛逼了,鏈接最多活 10 年,那麼 10 年後呢?你的圖片還不是一樣全部掛掉了?

那麼怎麼辦呢?

還是用 CF 給的域名吧,活得比我久,也挺好的。

https://img.bgzo.cc
https://pub-89c11651a8434f18a530bd6f93e399da.r2.dev

Source via: https://note.bgzo.cc/weekly/20260412-migrate-img-host-to-cloudflare-r2


  1. 雲端由於需要列出 bucket 列表,所以需要的權限比只上傳圖片更高,需要管理員讀和寫 via https://github.com/Kuingsmile/PicList/issues/473 ↩︎

http://www.jsqmd.com/news/631459/

相关文章:

  • 深入解析perf工具与火焰图:从基础使用到高级性能分析
  • 中泰期货联系方式查询:关于获取官方联系渠道与审慎使用金融服务的几点通用建议 - 品牌推荐
  • 人人学霸电话查询:关于该教育科技品牌联系方式的获取途径与使用注意事项 - 品牌推荐
  • 达梦数据库安全加固避坑指南:那些等保评测中容易忽略的配置细节(DM8实测)
  • RotaryEncoder库:嵌入式四象限正交解码实战指南
  • SfM重建的尺度去哪了?聊聊单目视觉在无人机和AR应用中面临的‘大小’难题
  • 2026苏浙地区电商培训标杆名录:杭州电商培训正规机构、杭州电商培训班机构、杭州电商培训班线下培训学校、杭州电商培训课程选择指南 - 优质品牌商家
  • ESP32 LCD IO扩展器封装:PlatformIO快速集成PCF8574/MCP23017
  • CarBase:面向差速驱动机器人的Arduino运动控制库
  • 2026年Q2:复合铝板/幕墙铝板/标牌铝板/标识铝板/花纹铝板/花纹防滑铝板/铝单板加工/铝板加工/2mm铝单板/选择指南 - 优质品牌商家
  • 别让AI代码,变成明天的技术债钢
  • 东方电机BLV-R伺服驱动Arduino RS-485控制库
  • iHvZ游戏专用七段/16段LED显示驱动库
  • 嵌入式GPIO镜像与锁存:亚微秒级确定性I/O控制库
  • ChRt:面向Arduino的工业级ChibiOS/RT实时操作系统移植
  • ros_lib_kinetic嵌入式ROS串口通信库详解
  • 拆穿名词诈骗!用大白话理解晦涩难懂的AI概念褐
  • 分享 种 .NET 桌面应用程序自动更新解决方案叫
  • 人人学霸电话查询:如何通过官方渠道获取服务信息及选择AI教育产品的通用考量 - 品牌推荐
  • mysql如何在指定位置添加新列_After关键字用法实操
  • Bridgetek EVE2图形库深度解析:FT81x嵌入式GUI开发实战
  • Adafruit_GFX_1351库解析:Hexiwear平台SSD1351 OLED驱动实践
  • 用PsychoPy给fNIRS实验搭个SST范式:从刺激材料Excel到Block循环的保姆级避坑指南
  • STTS22H高精度温度传感器Arduino驱动与低功耗中断应用
  • IoTWay:面向嵌入式设备的轻量级代理通信Arduino库
  • ADC128D818系统监控设计:高集成8通道12位ADC应用指南
  • TextOLED:HD44780兼容OLED文本驱动库详解
  • 大模型多租户隔离为何频频崩塌?2026奇点大会首次公开3层硬件感知隔离协议
  • SWSPI软件SPI协议栈原理与嵌入式工程实践
  • 嵌入式序列化库Serializer:MCU零开销结构体二进制编解码