reactjs - 将多个图像从 python 服务器发送到 react 前端

标签 reactjs flask encoding multipartform-data httpresponse

我正在尝试将 2 个 png(或 jpeg 或任何其他格式)图像从我的 Flask 服务器发送到我的 Reactjs 前端以在那里显示它们。但我不确定如何编码这个响应。我得到的最接近的是人们建议将图像附加到多部分表单并发送表单,但我不太清楚如何解析前面的表单,因为response.data是一个字符串。

我知道这甚至可能不是在通常用于发送到服务器而不是从服务器上构建多部分表单的正确方法,因此我将不胜感激任何更正!

from flask import Flask, Response
from requests_toolbelt import MultipartEncoder


{...}

# getting the images
        bytes_object_rest = do_plot(rest_coordinate_arrays, rest_vcg_arrays)
        bytes_object_stress = do_plot(stress_coordinate_arrays, stress_vcg_arrays)

]
       mpencoder = MultipartEncoder(
            fields={'rest_graph': ('rest.png', bytes_object_rest, 'image/png'),
                    'stress_graph': ('stress.png', bytes_object_stress, 'image/png')},
            )

    return Response(mpencoder.to_string(), mimetype=mpencoder.content_type)

最后,我想知道如何让 Flask 端点公开 2 个 .png 图进行 react ,以及如何解析该响应,以便我可以在前面渲染这 2 个图。非常感谢! [Here is the response from a call to this flask endpoint ]

And here is response.data all stringified 1

最佳答案

在Python中将图像编码为base64:

import base64

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

在js中解码图像:

var image = new Image();
image.src = 'data:image/png;base64,iVBORw0K...';

关于reactjs - 将多个图像从 python 服务器发送到 react 前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479259/

相关文章:

javascript - 在禁用浏览器 Flash 插件的情况下运行 Karma 测试

python - 如何使用 SciKit Learn 转换一次编码多个特征

java - URL 编码的替代方案

linux - npm:在 Pycharm 中使用 NVM、NPM 创建 reactapp 时找不到

reactjs - npm run build - 编译失败 - 无法读取未定义的属性 'toLowerCase'

mysql - 正确管理数据库资源 : cursor and connection

python - pytest `AssertionError: View function mapping is overwriting an existing endpoint function:` 注册蓝图时 flask 休息

Flask 动态 graphviz 和 SVG 示例

java - Mule 3.7.3 - Dataveawe 消息转换器编码错误

javascript - 如何使用 JS 将字符串替换为图像