как отправить биты изображения с помощью request.post (url, data) в webapp2

Мой URL слишком длинный, и он выдает мне ошибку:

ConnectionError: HTTPConnectionPool(host='xxxx', port=8086): Max retries exceeded with url: /user/profile?nick=nick&name=xxx&city=xxx&gender=x&profile_image=%FF%D8%FF%E0%00%10JFIF%00%01%01%01%00%60%00%60%00%00%...

Я загружаю изображение в файл Iput и пытаюсь передать его с помощью request.post, но он выдает мне ошибку выше.

Мой код таков:

profile_image = self.request.get("f_profile_image")
    data = {"id": id_user,
                "nick": nick,
                "name": name,
                "last_name": last_name,
                "gender": gender,
                "profile_image": profile_image}

    d = requests.post("http://myhost:8086/user/profile",params=data)
    self.response.out.write(d.text)

Я получаю здесь изображение profile_image = self.request.get("f_profile_image"), которое я отправил из формы, и пытаюсь отправить его на свой сервер для хранения в базе данных. Но d = request.post("http://myhost:8086/user/profile",params=data) совершает ошибку, о которой я упоминал выше.


person Drako    schedule 09.10.2012    source источник
comment
Возможно, вы захотите показать код того, как вы это делаете. Похоже, вы пытаетесь закодировать изображение и отправить его в URL-адресе POST, что легко сделает URL-адрес слишком длинным. Вы хотите поместить изображение в данные POST.   -  person dragonx    schedule 09.10.2012
comment
Когда вы отправляете данные, такие как изображение, вы должны публиковать их как составное сообщение в полезной нагрузке. См. этот вопрос: stackoverflow.com/questions/10066540/ Глядя на ваш код. Вы получаете изображение из формы. Почему вы не загружаете изображение на свой сервер? developers.google.com/appengine/docs/python/blobstore/   -  person voscausa    schedule 10.10.2012


Ответы (1)


Привет, ребята, ошибка произошла из-за того, что в моей модели не были введены правильные типы данных, и позже, как они поняли, сообщение об ошибке мне не очень помогло, и я полагаю, что ошибка была в другом месте, спасибо за ваш отзыв.

person Drako    schedule 27.10.2012