新浪微博图床迁移
前不久,微博图床挂了,这对于众多使用 Markdown 写技术博客的人简直太残忍了!看来,图片迁移真的是刻不容缓了,在我准备迁移图片的时候,发现了几个平台对图片不同的处理方式,觉得很有意思,所以记录一下。
本人强烈推荐使用方法五,亲测有效。
补救措施
一、在标头添加代码
<meta name="referrer" content="no-referrer" /> |
头部添加以上代码,防止获取敏感信息,这个作用是:在页面引入图片、JS 等资源,或者从一个页面跳到另一个页面,都会产生新的 HTTP 请求,浏览器一般都会给这些请求头加上表示来源的 Referrer 字段。Referrer 在分析用户来源时很有用,有着广泛的使用。但 URL 可能包含用户敏感信息,如果被第三方网站拿到很不安全(例如之前不少 Wap 站把用户 SESSION ID 放在 URL 中传递,第三方拿到 URL 就可以看到别人登录后的页面)。之前浏览器会按自己的默认规则来决定是否加上 Referrer。
二、利用大佬写的工具进行迁移
php写的小程序,扫描网站目录提取所有微博图床并下载到本地。
三、开源项目
四、代码实现,比保存本地再上传好一些
五、使用picGo插件pic-migrater进行快速迁移
目前如果你是用markdown写博客的话,可以用PicGo的pic-migrater插件来快速将markdown里的图片地址迁移到另外的一家服务商去(迁移到你当前设置的PicGo默认图床)。
PicGo地址:PicGo
picgo-plugin-pic-migrater:
直接在PicGo的「插件设置」页面安装即可使用,每个迁移过的markdown文件会生成一个新的markdown文件,防止图片迁移失败导致的原图损失。
具体步骤:
一、首先要有新的图床,这里以阿里云OSS为例
先开通阿里云对象存储OSS,进入OSS控制台,创建一个存储空间Bucket,如图我的是:seanxia
然后到文件管理中新建目录,看自己情况,我这里创建了二级目录
二、下载picGo,并配置好图床
1、KeyId和KeySecret都可以在Access Key中找到
先打开OSS概况,点击右边的Access Key
然后就可以看到KeyId和KeySecret,KeySecret需要手机验证,Access Key没有的直接创建就好了
2、存储空间名
存储空间名其实就是Bucket的名字,一开始创建的名字
3、存储区域
这个在创建的时候就有,如果忘记,可以点击Bucket查看概览中的访问域名就有
4、指定存储路径
存储路径就是你在Bucket的文件管理中的目录,比如我创建的是两级目录:img/hexo/
切记每级目录都要加上 / ,不然就会被当做前缀而无法生效
配置好图床后就是下载插件pic-migrater了
在插件设置中搜索pic-migrater,安装完成点击配置,部分配置在pic-migrater的github上也有说明
将这一切配置好后,点击选择文件或者文件夹,比如之前写的Hexo文档放在_posts中,直接选中整个文件夹,即可自动将这个文件夹中所有Markdown文档中的图片链接进行迁移到我现在默认的阿里云OSS中。
等待一会儿,picGo会显示迁移成功多少张的提示,再去看文档中的图片链接,已经换到了阿里云OSS的连接了
再去查看阿里云OSS中img/hexo/ 下,图片已经都上传成功
至此,图床迁移已完成,最后在hexo进行重新发布一遍即可!
此方法适用于所有markdown文档格式的图片链接,html或者URL此插件目前不支持,已亲测。如果以后需要迁移到其他的图床,此方式也非常实用。
然后非常推荐大家使用picGo图床工具,这个开源项目真心不错,最后希望此篇文章能对大家有所帮助,谢谢!