博客图床 VsCode + PicGo + 阿里云OSS,小丑,Github
关键字
写博客,图床,VsCode,PicGo,阿里云OSS
背景环境
我想把我在本地写的markdown文档直接搬到CSDN上和博客园上,但是图片上传遇到了问题。我需要手动到不同平台上传文件,非常耗费时间和经历。
为了解决这个问题,我想到了图床方案,我只需要把图片链接放到我本地写好的博客里面,然后复制粘贴就可以了。
原因分析
为了解决上传博客手动上传图片的问题。
解决过程
首先,我对图床的要求如下:
- 要好用,便于管理。
- 要安全,如果图床服务商跑路了,那么我的博客可能都会凉凉。
- 要便宜,最好免费,但是往往免费的总是最贵的。
根据我的要求,我尝试了多种方案:
- 使用Microsoft OneDrive,这个是win11自带的云存储服务,把图片放到OneDrive的文件夹中就可以生成链接。免费,简单,好用,但是等我实际使用时,就遇到了防盗链的问题,无法在CSDN上显示图片。(防盗链:A网站直接引用B网站的链接,B网站会验证访问者的来源地址(即HTTP Referer字段),来决定是否允许访问特定内容。如果来源地址不在允许列表内,访问请求将被拒绝。)所以这个方法无效。
- 我自己有云服务器,但是网络在新加坡,要是我用我的云服务器作为图床,经常被访问,我怕存在安全问题,比如封IP。
- 最后,我尝试小氪的方案,使用阿里云OSS,也不贵(40GB每年,十几块钱吧,一份猪脚饭)。阿里云OSS是云存储服务,我把图片传上去,然后公开读取权限,我就获得了一个可以直接访问,可以控制权限的图片地址了。
最终解决
方案:VsCode + PicGo + 阿里云OSS
PicGo介绍
PicGo是一个图片床管理的客户端,可以通过这个客户端,把图片上传到不同的云服务上,支持阿里云,腾讯云,七牛的等等。
客户端下载地址:https://mirrors.sdu.edu.cn/github-release/Molunerfinn_PicGo ,但是使用VsCode就不用下载这个客户端了。
(PicGo支持的云服务)
(PicGo配置,阿里云)
(PicGo上传文件)
VsCode使用
下载PicGo插件
配置插件
使用
使用起来非常简单,只需要在Vscode的编辑界面使用快捷键Ctrl+Alt+E(Windows的上传文件的快捷键),然后就会在光标位置打开一个窗口,选择上传的图片后,就会自动生成图床的链接的markdown语句。非常省心省时省力。(比如这篇博客。)
小丑
使用VsCode + PicGo + 阿里云OSS方案的第二天我打开我的博客,我直接惊住了!我的图片链接完全失效。
我赶紧打开阿里云OSS的控制台,迎面而来的就是欠费账单???
我为什么会欠费?看了半天,我是流量欠费。按照阿里云OSS的收费规则,买50GB的OSS存储包需要付费,如果你想从外网下载OSS上的资源也需要付费,上传到OSS上好像不需要付费。emm…很难评!!!
我想着,捣鼓阿里云的OSS我已经付出了两份猪脚饭以及若干精力,我不能让我的付出沉没了,我就看了看流量购买的付费界面。然后好吧,是我唐突了,告辞。
后面我仔细的想了想,存储包单独收费很合理吧,使用存储包单独收费也很合理吧。但是我在收到欠费账单的之前,并没有任何提示让我知道使用流量也是要收费的。错的不是阿里,是我自己,小丑总是我自己。
替代方案
阿里是不能用了,贫穷限制了我的能力。就用github吧,不收费。
Github创建一个公有的仓库
应该可以是私有的,后面设置token权限就行。没试过。
(省略)
配置PicGo
如何获取Github的Token
在github网页上生成token
配置token权限,因为只是简单的上传下载图片,所以只需要读取权限就可以了。
最后一切恢复正常。
总计
免费的总是最贵的,但是未知的收费更贵。
PS
- Github上传重复的图片失败,不同名也不行。
- 上传的图片名字尽可能用英文,因为实践过程中发现,中文名部分网站会失败。