【问题标题】:How to recreate an image from the binary string downloaded from a REST API如何从从 REST API 下载的二进制字符串重新创建图像
【发布时间】:2019-08-27 02:28:31
【问题描述】:

我想重新创建一个从 Flask 服务器发送的 .png 文件。 如果我在浏览器中获取文件,我可以查看它。 如果我从 python 请求中获取它,我会在保存文件时遇到问题,并且我永远无法查看它,因为格式似乎被破坏了。

客户:

req = requests.get(URL + "/image/file.png")

with open("recv.png", "wb") as f:
    print(req.text)
    f.write(req.text.encode())

服务器:

@app.route("/image/<string:path>")
def get(path):
    return send_from_directory("images", path, mimetype="image/png", as_attachment=True)

【问题讨论】:

    标签: python image rest download binary


    【解决方案1】:

    您可以在多部分 http 请求中使用 Base64 编码:-

    Content-Type: multipart/form-data;
    

    【讨论】:

    • 这与服务器无关。就像我在浏览器中所说的那样,我可以很好地下载文件。我遇到了一个不使用浏览器但使用 python 脚本的客户端的问题(检查我在问题中的编辑)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2016-02-10
    • 2019-09-15
    • 2015-01-10
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多