首页 > 解决方案 > 如何在base64中转换多个图像并以json格式返回并以html显示?

问题描述

我想将多个图像转换为 base64 并以 json 格式返回。同时,我想在我的 html 模板中显示。当我运行我的代码时,它运行良好,但结果只显示某些结果。下面附上我的结果。我也无法在 html 模板中显示我的 json 数据。在这里我附上我的代码。

在此处输入图像描述

应用程序.py

@app.route("/api/images")
def get_images():
    directory = os.listdir('C:/Users/HP/Miniconda3/envs/count_vechicle/coding/images')
    os.chdir('C:/Users/HP/Miniconda3/envs/count_vechicle/coding/images')
    data={}
    for file in directory:
        base = os.path.basename(file)
        data["label"] = base
        open_file = open(file,'rb')
        image_read = open_file.read()
        image_64_encode = base64.encodebytes(image_read)
        data["data"] = image_64_encode.decode('ascii') 
        final_data = json.dumps(data,sort_keys = True, indent = 4, separators = (',', ': '))
        print(final_data)
        #return final_data
        return render_template("images.html", final_data=final_data)

图片.html

<!DOCTYPE html>
<html>
<head>
</head>
 <body>
   <h1 class="logo">Results</h1>

   <ul>
    {% for data in final_data %}
    <li>{{final_data}}</li>
    <img src={{data.da}}>
    {% endfor %}
   </ul>

 </body>
</html>

标签: pythonjsonpython-3.xflaskbase64

解决方案


但结果只显示某些结果

放入returnfor 循环将在第一次迭代后立即退出 for 循环。您需要制作一个列表,然后在每次迭代中附加新数据。


推荐阅读