在我的博客没更新的这一年里,我曾经吹爆的七牛云将测试域名期限修改成了一个月,这导致我的博客里的图片全部挂掉了,这个事情搁置了很久没去解决,趁着心气还在就动手把图片从七牛云迁移到了腾讯云,顺便把写在其他地方的几篇博客加进来,在此记录一下迁移的过程。
七牛云的处理
七牛云在测试域名过期之后,因为没有了链接,存储的图片都无法预览也无法下载下来,最好的解决方法就是要绑定一个备案的域名,可惜的是我的域名已经过期了,再说备案也是个麻烦事,不过还好还有其他的解决办法。
利用跨区域同步管理迁移到新存储空间
七牛云的测试域名过期时间是每个存储空间单独计算的,所以当新建一个存储空间的时候,新分配的域名还是可以下载存储的内容的,七牛提供了跨区同步管理的服务,我们新建一个其他区的存储空间image2,然后设置跨区域同步稍等片刻即可将以前存储的图片导入到新的存储空间,详细请看设置跨区域同步,如果这种方法转移的比较慢也可以参考使用 qshell 同步目录。
使用Qshell批量下载图片
虽然图片转移到了新仓库可以下载了,但是只能一张张的下,如果图片比较多的话就很恼火,Qshell是七牛提供的命令行工具,提供了批量下载的功能。
首先按照文档给的下载地址下载Qshell,我是Mac就使用其中的qshell_darwin_x64
,因为是临时使用就不配置环境变量了,直接在当前目录运行,如果失败的话给其添加运行权限即可
1 | chmod +x qshell_darwin_x64 |
然后设置账户1
./qshell_darwin_x64 account <AccessKey> <SecretKey> <Name>
秘钥在个人中心>秘钥管理
中查看,Name随便写一个就可以,只是本地为了方便切换账户用的
编写下载配置文件download.json
,根据自己的情况自行修改1
2
3
4
5{
"dest_dir": "<下载到的文件夹绝对路径>",
"bucket": "<存储空间名>",
"cdn_domain": "<图床的地址>"
}
运行下载命令即可看到图片批量下载完毕1
./qshell_darwin_x64 qdownload download.json
其余情况查看qdownload官方文档
腾讯云的处理
腾讯云这边的操作比较简单,只需要新建对象存储服务,上传图片申请秘钥即可
创建存储桶
这一步选择公有读私有写,比较符合博客的需求
存储桶创建完成直接把刚下载好的图片上传上去就可以使用了,因为图片的名字都没有改,所以直接把博文的链接修改成腾讯云的前缀就可以了,我的博文并不是很多,所以直接手动用编辑器替换了,如果比较多可以考虑写一个脚本批量替换
设置防盗链
腾讯云提供了防盗链的功能,将博客域名加入白名单即可,不过我不推荐这么做,因为在写博客的时候图片就无法预览了,很不方便
iPic上传图片
iPic是一个快捷上传图片到图床的软件,还可以直接复制为markdown链接,在Mac版Typora中还可以设置自动使用iPic上传,写起博客来非常方便。
本文链接:将图片从七牛云迁移到腾讯云
版权声明:本文章采用CC BY-NC-SA 3.0 CN许可协议进行许可。转载请注明出处!