之前博客一直使用七牛云作为图床,其提供了免费的测试域名来提供使用,现在七牛云开始停止免费域名的提供,必须绑定新的域名才能继续使用,自己的域名过期一直没续费也不能用了,无奈下,更换新的图床。本文记录下使用七牛云工具 qshell
实现图片批量下载的处理方法。方法原创参看此处 。
qshell 下载七牛云图片
qshell
工具的 qdownload
命令可以实现图片的批量下载,此时如果域名还没有过期,则可以参考官方说明文档来下载图片。如果空间已经过期,则可以尝试绑定一个备案的域名来进行下载。最后如果没有域名可以尝试,则可以考虑下面方法,复制原空间图片到新建的空间(会有免费30天测试域名可以使用)内,然后实现图片的下载。关于 qshell
的更多说明和使用方法可以看这里。
qshell 下载
下载 qshell 工具,解压到任意目录后,命令行进入解压后的目录(目录内快捷打开cmd的方法可以看这里),选择对应系统版本的软件(我使用的是Windows10 64位系统,所以使用 qshell_windows_x64.exe
)。
命令行输入 qshell_windows_x64.exe -v
可以测试工具是否可以正常使用。
授权(秘钥)
确定 qshell
可以正常使用后,使用下面命令进行授权
qshell account [<AccessKey> <SecretKey> <Name>] [flags]
其中密钥 AccessKey
和 SecretKey
可以在七牛云管理后台获取,name
为账号名称(可以任意起。。),最后 flags
可以不用理会。
命令执行完成后,可以输入命令 qshell_windows_x64.exe account
查看授权的账号信息,类似下图:
原空间文件名获取
-
列举原空间文件名称并保存到
imglist.txt
文件内qshell listbucket 原空间名 -o imglist.txt
获取的文件内存储内容大致如下:
可以看到获取的列表信息内容比较多,而我们只需要第一列,所以需要处理这个文件,可以手动或使用下面的命令进行处理。
-
由于cmd不支持下面命令,建议 Windows 系统用户,尝试使用 cmder 来处理
cat imglist.txt | awk '{print $1}' > img-name.txt
处理后
img-name.txt
的内容
复制原空间文件到新空间
- 创建新存储空间
登陆七牛云控制台,选择 对象存储
- 新建存储空间
,注意新建的空间选择的储存区域要与原空间的一致,否则后续复制文件时会出错。
-
复制文件
qshell batchcopy --force 原空间名 新空间名 -i img-name.txt
命令执行完成后,可以在新的存储空间内看到备份过来的文件。
图片下载
-
创建下载用的配置文件
在
qshell
工具目录下新建一个json文件,名称自定义,文件内保存下面内容{ "dest_dir": "下载的图片要存储的目录", "bucket": "新建的存储空间名称", "cdn_domain": "新建的存储空间提供的测试域名" }
-
执行下面命令完成图片的下载
qshell qdownload 刚创建的文件名称.json