折腾图片上传

博客开起来之后我就开始一直在着手图片上传的事。

折腾过程

上传服务器

不可能,首先排除,如果可行也不会有这篇文章了。
虽然现在的算法能把图片压得很小,还能保证一定的清晰度。
但是不想在服务器存图片实在是人之常情啊🥰。
我这免费主机确实没有空间能腾给图片。

七牛云

首先我是想起了七牛云,很久以前用过,后来不知道为啥没有用。
登上号后也是回忆起来了,需要国内备案的域名,不然完全不给用。

网盘

一番搜索后也确实是找不到啥靠谱方案。
我几乎都想着存网盘,通过alist访问了,但是这个方法我曾经调研过。
用网盘存图,访问的延迟很大,这个延迟放在网页加载场景…那还不如不要图吧。
不想博客打开好几秒了图片才后知后觉的加载出来。

backblaze b2

好在又一番查找后我看到了比较靠谱的方案backblaze b2,也是10G免费,typecho也有插件。
我寻思就算插件不能用了,修修补补相比从头写还是要容易多了。
但是注册账号翻看别人的教程的时候,又看到了更简单的方法😭。
纯懒货无疑了,好在还没在这条路上走太远🥺。

sm.ms

一开始为啥没考虑图床
我以为要手动上传,那多麻烦。

搜索b2的教程的时候,才意外发现typecho有sm.ms图床的插件。
本着看一眼没坏处的原则,我发现这个sm.ms的免费空间有5G,并且这个图床我以前用过。
稳定性和空间大小都令我满意。
一番搜索后找到了typecho1.2.1版本可用的插件,用起来也是相当完美。

图片压缩

然而事情并不简单。
5G空间用来存图片,不能说绰绰有余吧,那也是捉襟见肘。
直接上传太败家啦!
我转码webp/avif再上传岂不美哉🥰?
很容易就找到了的插件,不用多说直接avif好吧,不激进点怎么省空间。
不过很显然,转码插件和上传插件不兼容,转码后就不上传了。
研究了一段时间,确实是不好联动,只能把两个插件合二为一了。

理论可行,实践开始

转码的功能相对简单,所以以上传图床的插件为基础,加入转码功能。
利用零散的摸鱼时间写代码调bug,总共花了小半天的时间。
可算是把bug都解决完正常开起来了(不得不说php5时代的下划线把我整晕了,我还是喜欢高版本)。

遗憾

很🌿的是sm.ms还不支持avif,使我不得不退而求其次使用webp,我最开始还以为是写bug了。
调了很久就是传不上去,直到我尝试在官网直接上传,才发现是格式的问题。
虽然很离谱,但显然这就是现实:4202年了,sm.ms还不支持avif😭😭😭。
并且看样子也没有支持avif的可能性。

结语

尽管avif格式在压缩率和画质上表现优异,但受限于图床的支持情况,最终还是只能使用webp了。

补充完结

紧跟着碰巧又把tebi.io也跑通了,但是图床还是省心点,懒得动了,哈哈😋。

  • 2026-05-23:sm.ms和tebi.io都不能用了,🌿了。不过我没有很强烈的传图需求,也没啥影响。再说压缩的事情,这种有损压缩放服务端不合适,不精细且不能针对性调整,压缩图片就应该在本地进行啊。
CC BY-NC-SA 4.0 Deed | 署名-非商业性使用-相同方式共享
最后更新时间:2026-05-23 19:59:29

0

    暂无评论