使用Pyimgu通过API将大图像上传到Imgur(>1mb)

2024-06-01 02:01:46 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有可能上传一个大的PNG图像而不转换成一个较小的JPG?我注意到imgur帐户有一个“上传大图片”选项,API允许你使用吗?在

我对api没有任何经验,所以我只使用pyimgur,我只需要它的上传功能。在

uploadedImage = pyimgur.Imgur( imgurID ).upload_image( imageLocation, title=imageTitle )

我必须将上传的图片大小与原始图片的大小进行比较,因为如果代码被转换,代码将无法工作,而且根据经验,它是1mb标记。在

我希望它不需要一个帐户,因为我必须在代码中指定一个帐户,这样任何人都可以访问通过我的脚本创建的每个图像,而且我也绝对不希望人们必须登录。在


Tags: 代码图像功能apipng选项图片帐户
1条回答
网友
1楼 · 发布于 2024-06-01 02:01:46

当我重新编写我的旧代码并设法解决它时,我又回到了这个问题(google再次找到了这个问题,哈哈)。不管怎样,匿名用户的上传量都不能超过1MB,所以我只需要验证用户的身份。在

在不显示我自己的客户机ID和密码的情况下,这就是如何让pyimgur.Imgur类充当登录用户的方法,一个简单的示例显示上载图像仍然是相同的。在

import pyimgur, webbrowser
def imgur_log_in():
    client = pyimgur.Imgur(CLIENT_ID, CLIENT_SECRET)
    auth_url = client.authorization_url('pin')
    webbrowser.open(auth_url)
    pin = raw_input('Please enter the pin number shown... ')
    print pin
    try:
        client.exchange_pin(pin)
    except requests.HTTPError:
        print 'Error: Invalid pin number'
        return None
    return client

client = imgur_log_in()
im = client.upload_image(path)
webbrowser.open(im.link)

会话将在一小时后过期,但您可以使用client.refresh_access_token()续订它。还可以对client进行pickle和编码,因此您也不需要在下一个会话中进行身份验证。在

相关问题 更多 >