前因
博客里经常需要插入一些图片,在我最开始写博客的时候,和大多数人一样,我的博客部署在github上,首先接触到的是微博图床。
新浪微博的稳定性不必多说,加上Chrome微博图床插件更是妙不可言。
最开始的那会儿微博对我这种白嫖行为没什么限制,到后来,因为觉得github访问速度慢,于是想把博客迁移到自己的服务器上。迁移成功之后,却发现所有图片都不能正常访问了。究其原因,原来是微博加上了某种限制措施。
值得一提的是,如果博客部署在github或者gitee上,通过新浪微博生成的图片外链仍然可以正常访问,大概是因为github和gitee在微博的白名单里。
最后,我把博客迁移到了gitee上。gitee相比于github的优势主要在于访问速度,美中不足的是普通用户需要手动去更新仓库内容。
现在,我又觉得不过瘾,部署在github pages或者gitee pages的博客是很难被搜索引擎搜索到的(尤其是百度),还是想把博客部署在自己的服务器。
无意中了解到Github也可以当做图床来使用,于是我做了一番尝试,发现github的资源保存在亚马逊s3上,而访问亚马逊s3需要科学上网,我又把注意力放在了国产github之gitee上。
gitee也可以当做图床来用,现在最大的问题是:如何将我之前所有博客中微博图床的图片链接替换成gitee的链接呢?
手动替换 ×- 用java √
思路
- 将markdown文件里的新浪微博图床的链接下载到本地
- 将下载到本地的图片上传到gitee
- 将markdown文件里的新浪微博图床的链接换成新的gitee的链接
- 对所有markdown文件执行上述操作
实现
准备工作
在gitee里建一个新的仓库,必须是public类型,在设置里new一个新的token备用。
下载微博图片到本地
1 | package eternal.fire; |
这段代码执行完成之后,一张图片就成功的从微博图床下载到了本地。
