如何从命令行将多个图像上传到imgur相册?

时间:2016-07-10 06:41:16

标签: bash curl sed imgur

这就是我现在拥有的,它适用于单个图像。

curl -vH "Authorization: Client-ID 3e7a4deb7ac67da" -F image=@/path/to/image https://api.imgur.com/3/upload.xml

要在浏览器中打开结果,我有

curl -vH "Authorization: Client-ID 3e7a4deb7ac67da" -F image=@/path/to/image https://api.imgur.com/3/upload.xml | grep -Eo '<[a-z_]+>http[^<]+'|sed 's/^<.\|_./\U&/g;s/_/ /;s/<.*>//' | sed  's/^.*imgur\.com\//http:\/\/imgur.com\//g;s/\.[^.]*$//' | xargs xdg-open 

但如何将多张图片上传到匿名相册?

我知道我可以用

制作一张专辑
curl -vH "Authorization: Client-ID 3e7a4deb7ac67da" -F "title=imgur"  https://api.imgur.com/3/album

然后我想我需要对我的每一张图片进行一些卷曲调用,将它们逐个添加到相册中?或者有一些神奇的命令我可以在一次卷曲调用中完成所有这些操作? (创建相册,上传多个图像,然后返回相册链接)

Imgur image upload api说有一个album密钥,但我不知道如何通过curl传递它。(我可以看到上一个专辑创建调用结果中的deletehash。 )

最终目标是为kde dolphin浏览器添加一些菜单(作为servicemenu)单个图像上传已经正常工作。

screenshot

1 个答案:

答案 0 :(得分:1)

find命令是你的朋友。

假设您希望上传所有可以执行以下操作的.png张图片。

find /path/to/images/folder -maxdepth 1 -type f  -name "*.png"  \
     -print0 | while read -rd '' filename
do
curl -vH "Authorization: Client-ID 3e7a4deb7ac67da" \
     -F image=@"$filename" https://api.imgur.com/3/upload.xml
done