【问题标题】:requests get image, return via flask请求获取图像,通过烧瓶返回
【发布时间】:2013-08-13 21:08:54
【问题描述】:

我正在尝试通过请求获取图像并从烧瓶应用程序返回该图像。从请求中读取二进制数据我没有任何运气,我得到的响应总是 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() ) 不正确,但我不确定它应该是什么。我已经搜索了其他答案并基于以上内容,但它们总是略有不同(通常涉及文件)。

【问题讨论】:

    标签: python flask python-requests


    【解决方案1】:

    您没有发出流式传输请求,因此 已经 读取了原始套接字。只需改用r.content:

    fr = make_response(r.content)
    

    如果您在创建请求时使用了stream=True,则只能从静止中读取原始套接字:

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

    但是由于您正在将整个响应读入内存无论如何,因此在这里这样做没有多大意义。

    【讨论】:

      猜你喜欢
      • 2021-12-30
      • 2022-09-30
      • 2021-07-24
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2017-08-24
      相关资源
      最近更新 更多