Python电报api。我不明白如何通过Python库将图像发送到telegraph

2024-04-29 01:53:36 发布

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

我正试图把一张照片从我的硬盘上传到电报上。在documentation中,它表示要使用upload_文件():

telegraph.upload.upload\u文件(f) 将文件上传到Telegra.ph的服务器。返回链接列表。 仅允许.jpg、.jpeg、.png、.gif和.mp4文件。 参数:f(文件、str或列表)–文件名或类似文件的对象

但我不明白“f(文件、str或列表)–文件名或类似文件的对象”是什么意思。也就是说,我需要如何处理照片才能将其传递给此函数

我试图解决这个问题:

upload_file(open('1.png', 'rb'))

错误: telegraph.exceptions.TelegraphException:文件类型无效

myf = io.StringIO()
        myf.write(open(f'photo/{i}.png', 'rb'))
        print(upload_file(myf))
        myf.close()

错误: TypeError:应为字符串参数,获取“\u io.BufferedReader”


Tags: 文件对象列表参数png文件名错误open
1条回答
网友
1楼 · 发布于 2024-04-29 01:53:36

我正在使用此方法加载图像

  
def upload_image_telegraph(path_image):
    with open(path_image, 'rb') as f:
        result_requests = requests.post(
            'http://telegra.ph/upload',
            files={'file': ('file', f, 'image/jpg')}  # image/gif, image/jpeg,image/jpg, image/png, video/mp4
        ).json()
        return result_requests

您还可以使用Python html\u telegraph\u海报库下载 在它的帮助下,您可以传输本地图像和指向它们的链接 例

  
from html_telegraph_poster import upload_image
res = upload_image('local path image or link image') 

相关问题 更多 >