как создать массив изображений _FILES, используя python для загрузки изображения - PullRequest
0 голосов
/ 09 июля 2020

Я создаю сценарий для загрузки изображения листинга в etsy, используя python.

Однако, когда я выполнил, может ли он вернуть сообщение «Метаданные массива изображений не похожи на массив _FILES "

Кстати, я использую библиотеку https://github.com/mcfunley/etsy-python

Я пробовал этот код:

product_image = open(filename)

result = etsy.uploadListingImage(listing_id=listing_id, image=product_image)

Но он возвращал ошибку сообщение "UnicodeDecodeError: код 'utf-8' c не может декодировать байт 0xff в позиции 0: недопустимый начальный байт"

Я пробовал другой:

product_image = {filename, open(filename, 'rb'), 'image/jpeg'}

result = etsy.uploadListingImage(listing_id=listing_id, image=product_image)

Но он вернул сообщение об ошибке «Метаданные массива изображений не похожи на массив _FILES»

Существует образец кода для php (https://www.etsy.com/developers/documentation/getting_started/images#section_uploading_images), но мне было трудно его согласовать с библиотека python, которую я использую.

$source_file = dirname(realpath(__FILE__)) ."/$filename";

$url = "https://openapi.etsy.com/v2/listings/".$listing_id."/images";
$params = array('@image' => '@'.$source_file.';type='.$mimetype);

$oauth->fetch($url, $params, OAUTH_HTTP_METHOD_POST);

$json = $oauth->getLastResponse();

Итак, я думаю, что основная проблема - это тип переменной или структура параметра изображения в uploadListingImage.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...