首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Pyimgur接口上传大图到Imgur (大于1mb)

通过Pyimgur接口上传大图到Imgur (大于1mb)
EN

Stack Overflow用户
提问于 2015-01-14 19:43:22
回答 1查看 243关注 0票数 0

有没有可能上传一个大的PNG图像而不将其转换为较小的JPG?我注意到imgur账号有一个“上传大图片”选项,API会让你使用它吗?

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

代码语言:javascript
复制
uploadedImage = pyimgur.Imgur( imgurID ).upload_image( imageLocation, title=imageTitle )

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

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

EN

回答 1

Stack Overflow用户

发布于 2015-09-24 23:27:37

当我重写我的旧代码时,我又回到了这个问题上,并设法解决了这个问题(再次谷歌搜索这个问题,找到了我以前的问题,哈哈)。匿名用户无论如何都不能上传超过1MB的内容,所以我只需要对用户进行身份验证。

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

代码语言:javascript
复制
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和编码,因此您也不需要在下一次会话中进行身份验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27942154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档