版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lkj345/article/details/83382636
前几天我发现自己博客中图片都不显示了,最后才明白原来是七牛云图片外部链接失效造成的,这是因为七牛云收回了所有测试域名,并且在七牛云后台也无法显示图片并且还无法下载图片。
为了解决这个问题可以使用qrsctl这个工具,我使用的是Mac版本,Linux系统也可以参考如下脚本。
下载后文件为qrsctl.dms,将其改名为qrsctl,chmod +x qrsctl赋予可执行权限。直接在terminal中运行./qrsctl会出现相应说明文档,如下图。
按照如下指令,输入自己七牛云的账号和密码登录。
./qrstcl login <your username> <your password>
由于我之前所有图片是在七牛云对象存储中的bucket中,运行如下代码查看目前我建立的所有bucket。
./qrsctl buckets
对我来说得到如下两个bucket。
如下图,这与七牛云中的bucket吻合。
其中,在我的picture这个bucket中存储了26张图片,如下图。
扫描二维码关注公众号,回复:
3866524 查看本文章
在命令行中输入如下指令,注意最后是两个英文单引号。
./qrsctl listprefix picture ''
可以得到如下图的结果。
命令行得到的结果与七牛云网页端结果一致,这样就可以一次性得到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
最后一步将所有图片移到了网易云,希望不要再出现类似的幺蛾子了,不然修改博客里面的图片链接很费时间。