2013-08-12 1 views
2

Я пытаюсь получить изображение по запросам и вернуть это изображение из приложения в колбе. Мне не повезло, читая двоичные данные из запроса, мой итоговый ответ всегда равен 0 байтам.запросы получить изображение, вернуть через колбу

@app.route('/image') 
def get_image: 
    zs = requests.Session() 
    r = zs.get('url_that_loads_a_png') 
    fr = make_response(r.raw.read()) 
    fr.headers['Content-Type'] = r.headers['Content-Type'] 
    return fr 

Я предполагаю, что мой make_response(r.raw.read()) как-то неправильно, но я не уверен, что это должно быть. Я искал другие ответы и основывался на них выше, но они всегда немного отличаются (обычно с файлом).

ответ

5

Вы не делаете запрос на потоковое вещание, поэтому исходный разъем имеет уже был прочитан. Просто используйте r.content вместо:

fr = make_response(r.content) 

Необработанные гнездо можно прочитать только по-прежнему, если вы использовали stream=True при создании запроса:

r = zs.get('url_that_loads_a_png', stream=True) 

, но так как вы читаете весь ответ в память все равно здесь нет особого смысла.

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

  • Нет связанных вопросов^_^