如何在EJS模板中转换Blob对象

问题描述 投票:0回答:1

我正在使用express,mongodb,multer,ejs和croppiejs来上传患者照片。用户上传照片时,他们可以选择裁剪照片。我将裁剪后的照片保存为一个名为croppedPhoto的字段中的BLOB对象。

现在,我想在前端显示裁剪的照片。我正在传递患者对象(该对象包含记录的所有数据字段,包括裁剪的照片)。

我正在考虑将该Blob对象转换为base64并显示它。但是问题是我不确定如何在ejs模板中使用croppedPhoto

字段值进行转换。

server.js

[查找所有患者并传递到ejs模板-也包括cropedPhoto字段]
app.get('/', async (req, res) => {
    const patients = await Patient.find();
    res.render('index', { patients: patients });
});

index.ejs

[想在img标签中显示照片]
<div class="flex flex-wrap mt-10">
    <% patients.forEach(patient => { %>
    <div
        class="flex flex-col items-center justify-center h-auto lg:h-auto lg:w-32 flex-none bg-cover rounded-t lg:rounded-t-none lg:rounded-l text-center overflow-hidden">
        <img src="<%= patient.croppedPhoto %>" class="my-3 w-20 h-20 rounded-full" alt="Patient Photo">
    </div>
    <% }) %>
</div>

谢谢!

我正在使用express,mongodb,multer,ejs和croppiejs来上传患者照片。用户上传照片时,他们可以选择裁剪照片。我将裁剪后的照片保存为BLOB ...

node.js express blob ejs multer
1个回答
0
投票

通常,在将文件上传到服务器时,您必须避免将文件本身保存在数据库中,而是可以将文件从客户端的桌面移动到所需的目录(您存储的应用程序图像文件夹中图像)使用Express file upload,然后将该文件的path保存在数据库中,通常情况如下:/images/test.png

© www.soinside.com 2019 - 2024. All rights reserved.