我正在使用express,mongodb,multer,ejs和croppiejs来上传患者照片。用户上传照片时,他们可以选择裁剪照片。我将裁剪后的照片保存为一个名为croppedPhoto的字段中的BLOB对象。
现在,我想在前端显示裁剪的照片。我正在传递患者对象(该对象包含记录的所有数据字段,包括裁剪的照片)。
我正在考虑将该Blob对象转换为base64并显示它。但是问题是我不确定如何在ejs模板中使用croppedPhoto
字段值进行转换。server.js
[查找所有患者并传递到ejs模板-也包括cropedPhoto字段][想在img标签中显示照片]app.get('/', async (req, res) => { const patients = await Patient.find(); res.render('index', { patients: patients }); });
index.ejs
<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 ...
通常,在将文件上传到服务器时,您必须避免将文件本身保存在数据库中,而是可以将文件从客户端的桌面移动到所需的目录(您存储的应用程序图像文件夹中图像)使用Express file upload,然后将该文件的path
保存在数据库中,通常情况如下:/images/test.png
。