【问题标题】:How to jsonify a picture in Flask如何在 Flask 中对图片进行 jsonify
【发布时间】:2019-03-20 16:31:03
【问题描述】:

我正在尝试使用 Flask 构建一个简单的 API,现在我想在其中读取一些 gif 图片。我需要做什么才能将其序列化为 JSON?

这是我的幼稚代码:

def getfile(filename):
    file = request.files['file']
    return file.read()

@namespace.route('/get_image')
class Getpicture(DecoratedResource):
    @staticmethod 
    def get():
        if request.args.get('type') == '1':
           filename = 'ok.gif'
        else:
            filename = 'error.gif'
        file = getfile(filename)
        return  jsonify(file, mimetype='image/gif')  

结果:

{ "message": "浏览器(或代理)发送了一个服务器无法理解的请求。" }

【问题讨论】:

    标签: json python-3.x


    【解决方案1】:

    一种可能的解决方案是将图像编码为 base64 字符串,然后将其提供为 json,这样您只需传递一个字符串,而不是尝试将图像转换为 json

    import base64
    
    with open("yourfile.ext", "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read())
    

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 2016-01-29
      • 2014-02-20
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2014-01-07
      • 2012-09-08
      • 2017-11-05
      相关资源
      最近更新 更多