七牛云测试域名失效导致图片外链失效的解决办法

前几天我发现自己博客中图片都不显示了,最后才明白原来是七牛云图片外部链接失效造成的,这是因为七牛云收回了所有测试域名,并且在七牛云后台也无法显示图片并且还无法下载图片。

为了解决这个问题可以使用qrsctl这个工具,我使用的是Mac版本,Linux系统也可以参考如下脚本。

下载后文件为qrsctl.dms,将其改名为qrsctl,chmod +x qrsctl赋予可执行权限。直接在terminal中运行./qrsctl会出现相应说明文档,如下图。

qrsctl

按照如下指令,输入自己七牛云的账号和密码登录。

./qrstcl login <your username> <your password>

由于我之前所有图片是在七牛云对象存储中的bucket中,运行如下代码查看目前我建立的所有bucket。

./qrsctl buckets

对我来说得到如下两个bucket。

buckets

如下图,这与七牛云中的bucket吻合。

buckets

其中,在我的picture这个bucket中存储了26张图片,如下图。

picture

在命令行中输入如下指令,注意最后是两个英文单引号。

./qrsctl listprefix picture ''

可以得到如下图的结果。

listprefix

命令行得到的结果与七牛云网页端结果一致,这样就可以一次性得到picture这个bucket中的所有图片名,当然要注意第一行是七牛云自带的一个标志字符串"marker:"。

得到图片名后,可以通过七牛云的如下接口下载一张图片。

qrsctl get <Bucket> <Key> <DestFile>

比如./qrsctl get picture 1.jpg ./i.jpg可以将picture中的1.jpg下载到本地机器当前路径下的1.jpg

将上述几步综合起来批量下载到本地,如下代码按图片原名下载到本地当前路径下。

#!/bin/bash

imgs=`./qrsctl listprefix picture ''`

i=0 
echo $imgs | tr " " "\n" | while read line
do
    if(($i>0))
    then
        echo $line
        ./qrsctl get picture $line ./$line
    fi
    i=$(($i+1))
done

最后一步将所有图片移到了网易云,希望不要再出现类似的幺蛾子了,不然修改博客里面的图片链接很费时间。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值