2015-07-26 1 views
0

Как загрузить фотографии на сервер? Я знаю, что мне нужно преобразовать изображение в массив байтов, а затем сделать почтовый запрос на сервер. Запрос должен быть URL-адресом по методу photos.getWallUploadServer() и самому изображению.Запрос POST для загрузки изображения в Vkontakte на python 3.x

Ответ на запрос POST:

{"server":622829,"photo":"[]","hash":"daafd680b6ff3333da31cc3094872d60"} 

Преобразование изображения в байткод:

with open('1.png', 'rb') as imageFile: 
    f=imageFile.read() 
    b=bytearray(f) 

запрос POST:

urllib.request.urlopen(url=Object['upload_url'], data=b) 

ответ

0

Вы должны использовать метод photos.getWallUploadServer, чтобы получить ссылку на загрузить. Вы должны отправить учетную запись access_token в запрос к этому методу. Затем вы анализируете URL-адрес от ответа, заменяя «\» на пустой. После этого вы создаете POST-запрос с одним полем, имя которого «фото» и помещает изображение, преобразованное в байты, в запрос s body. Server will give you all hashes, server numbers and others also with param "photos". You parse all it and send to photos.saveWallPhoto`. Формат ответа реальных серверов отличается от документации API, поэтому вы должны проверить его и исправить правила синтаксического анализа

Смежные вопросы