Загрузка двоичного файла в API с использованием Python - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь загрузить двоичный пакет в RestAPI хранилища, используя python. Но он продолжает выдавать ошибку и не может загрузить файл. Ниже приведен код, который я использую для его достижения:

jsonheaderup={'Content-Type': 'application/octet-stream'}

file = open('install.pkg.gz', 'rb')
files = {'file': file}

def upload_code():

  u = requests.post("%s/api/sys/v2/updates" % (url), files=files, verify=False,      headers=jsonheaderup)
  l = json.loads(u.text)

upload_code()

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Предыдущие посты не очень помогли, но я понял это, сославшись на оригинальную документацию запросов - Потоковая загрузка. http://docs.python -requests.org / ен / ведущий / пользователь / продвинутый /

Поскольку размер моего файла составлял около 1,9 ГБ, сеанс прерывался между процессами загрузки, что приводило к ошибке «Внутренняя ошибка».

В виде его огромного файла я отошёл и загрузил его, предоставив в моей функции файловый объект:

def upload_code(): jsonheaderup={'Content-Type': 'application/octet-stream'} with open('/root/ak-nas-2013-06-05-7-18-1-1-3-nd.pkg.gz', 'rb') as file: requests.post("%s/api/system/v1/updates" % (url), data=file, auth=zfsauth, verify=False, headers=jsonheaderup, timeout=None)

0 голосов
/ 12 сентября 2018

На первый взгляд, я не вижу никакой ошибки.

Вы видели это: Python 3 скрипт для загрузки файла в REST URL (многочастный запрос) ?

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