博客中的图片失效很久了,一直没时间来处理。现在把解决过程整理了一下,供同样问题的人参考
失效原因
因为我的博客图床是托管在七牛云存储上(个人免费10G),但是目前七牛云提供的测试域名均只有 30天的试用期,过了试用期会被回收,导致图片链接失效。解决的方法就是按照七牛云的指导,绑定自定义域名,并且该域名必须要工信部备案,而这个备案过程至少要20+天,时间非常长,我这目的也仅仅是为博客做图床而已,因此不想去申请麻烦的备案。因此另谋出路。
需求整理
- 另找一个可简单使用的图床,不需要备案之类的
- 可一直存储图片
- 访问速度要还凑合
最后经过选择,使用 coding
项目作为图床,coding
跟腾讯云开发者绑定后,项目数和速度都免费畅享,也就是项目可以一直开下去,下图就是升级之后的好处
图片转移 Step
- 新建
coding
项目,将之前博客中的图片都上传上去
我因为本地没有保存之前的图片了,这个可以在七牛云上申请工单处理,可延长你的测试域名期限,我的延长了3天,然后批量下载下来了。
上传完了图片后,随便点击一张图片,查看这个图片的完整链接 比如 这里:https://coding.net/u/cloudy-liu/p/BlogPicBed/git/blob/master/1.png
,我们将其中的blob
替换成 raw
,然后在修改为 markdown
的链接语法: ![](https://cloudy-liu.coding.net/p/BlogPicBed/d/BlogPicBed/git/raw/master/1.png)
就可以在 markdown 支持的文本中看到这张图片了
- 使用新的图片链接替换你原博文中的图片链接
因为用 markdown
写的博文,图片都是链接的形式,比如之前的博文图片链接都是七牛云域名的图片,如 ![](http://p5sfmckwy.bkt.clouddn.com/img/2_top_2_rmb.png)
,现在仅需要替换为新的域名即可,因为图片的名字不用改,只需要修改之前的域名为 coding
新建项目上的域名即可,当然博文非常多,我这里写了简单的 python 脚本来一次性批量处理
replace_pic.py
代码如下
1 | # coding=utf-8 |
使用方式,-p 指定目录后,会将该目录下的所有文件,将旧的链接替换为新的链接
1
python 路径/replace_pic.py -p 你博文的目录
修正后,在更新
hexo d -g
进行更新博客即可,图床即更换了
更新
Coding 因为最近调整,导致原有的个人项目被迁移,但是迁移后的项目默认没有public,所以想要将 coding 做图床,需要将该项目设置为 public 的, 路径为 代码仓库
-> 仓库设置
-> 公开源代码
,然后再利用 replacce_pic.py
进行更新
最后编辑于 2020-05-11