使用Telegram Bot API从DigitalOcean Spaces发送照片时出现电报错误BadRequest

问题描述

我的电报机器人在通过DigitalOcean Spaces CDN发送图片时遇到问题。 这里最令人沮丧的是,大多数图片发送时没有任何错误,但是某些特定的图像会导致Telegram Bot API产生BadRequest 400错误。

图像的格式和元数据完全相同,但是由于某种原因,Telegram拒绝加载其中的某些图像(即使我将URL发送到“损坏的”图像上,Telegram也不会显示预览)。

这里最不舒服的部分是,当我将.cdn子域添加到URL时,一些“损坏”的图片被接受,反之亦然-如果删除它,则带有.cdn子域的一些“损坏”的图片将被接受。 / p>

  • OK image(从我的设备发送时没有错误 显示个人帐户预览)

  • broken image(错误,从我的 个人帐户未显示预览。

  • magically cured broken image(无错误,显示预览,与以前相同,但URL中没有.cdn)

如果能解决此问题,我将不胜感激

解决方法

事实证明,Telegram从照片URL缓存响应(成功和失败)。因此,如果某个URL由于某种原因返回了非200响应,则该响应将被缓存,并且所有后续重试以同一URL发送该图像都会失败。

This answer包含有关如何更新缓存的信息。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...