Мне нужно загрузить строку изображения (как ту, которую вы получаете от requests.get(url).content
) на диск Google с помощью пакета PyDrive. Я проверил похожий вопрос, но был принят ответ, чтобы сохранить его. во временном файле на локальном диске, а затем загрузите его.
Однако я не могу этого сделать из-за ограничений локального хранилища и разрешений.
Ранее принятым ответом было использование SetContentString(image_string.decode('utf-8'))
, поскольку
SetContentString
требуется параметр типаstr
, а неbytes
.
Однако возникла ошибка: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
, как и в комментариях к этому ответу.
Есть ли способ сделать это без использования временного файла, используя PIL
/BytesIO
/все, что может преобразовать его для правильной загрузки в виде строки? или как-то с помощью PIL манипулировать изображением и загружать с помощью SetContentFile()
?
Основной пример того, что я пытаюсь сделать, это:
img_content = requests.get('https://i.imgur.com/A5gIh7W.jpeg')
file = drive.CreateFile({...})
file.setContentString(img_content.decode('utf-8'))
file.Upload()