Код довольно прост:
Код: Выделить всё
import io
from pathlib import Path
from cloudflare import Cloudflare
if __name__ == '__main__':
secrets = loadSecrets()
image = Path("E:/").joinpath("test", "test_pict.jpg")
cf = Cloudflare(api_token = secrets["image"]["apitoken"])
with open(image, "rb") as imgfile:
res = cf.images.v1.create(account_id = secrets["accid"], file = imgfile)
Код: Выделить всё
def create(self,
*,
account_id: str,
file: object | NotGiven = NOT_GIVEN,
metadata: object | NotGiven = NOT_GIVEN,
require_signed_urls: bool | NotGiven = NOT_GIVEN,
url: str | NotGiven = NOT_GIVEN,
extra_headers: Mapping[str, str | Omit] | None = None,
extra_query: Mapping[str, object] | None = None,
extra_body: object | None = None,
timeout: float | Timeout | None | NotGiven = NOT_GIVEN) -> Image
Upload an image with up to 10 Megabytes using a single HTTP POST (multipart/ form-data) request. An image can be uploaded by sending an image file or passing an accessible to an API url.
Args:
account_id: Account identifier tag.
file: An image binary data. Only needed when type is uploading a file.
...
Код: Выделить всё
res = cf.images.v1.create(account_id = secrets["accid"], file = image)
res = cf.images.v1.create(account_id = secrets["accid"], file = imgfile.read())
res = cf.images.v1.create(account_id = secrets["accid"], file = io.open(image, "rb)
cloudflare.APIStatusError: Код ошибки: 415 — {'result': Нет,
'успех': False, 'ошибки': [{'код': 5455, 'сообщение': 'Загруженное изображение
должно содержать изображение/jpeg, изображение/png, изображение/webp, изображение /gif или
image/svg+xml content-type'}], 'messages': []
Изображение 2.5. MB Jpeg (на всякий случай я проверил заголовок с помощью Hex-редактора).
Любые обоснованные предположения о том, что еще мне следует попробовать, чтобы это исправить, будут очень признательны.
Подробнее здесь: https://stackoverflow.com/questions/790 ... on-library