【发布时间】:2021-12-08 06:01:36
【问题描述】:
我正在使用获取多个数据的 api 将我的 ejs 模板转换为 pdf。我能够从 api 的 json 响应中将数据插入模板。但我正面临图像问题。该图像是一团 html 画布。我将其转换为 base64 并通过另一个 api 将其名称插入 db。
我的 api 响应,
"data2": [
{
"graph_img": "http://localhost:5000/public/images/graph_images_for_pdf/2021102161712PM.jpeg"
}
],
我如何在 ejs 模板中使用它,
<% dataw.data2.forEach(function(a){ %>
<div class="row">
<div class="col-sm-6">
<div class="mb-4 pull-left">
<div > <%= a.graph_img %> </div>
</div>
</div>
</div>
<% }); %>
这给了我 pdf 中的 http://localhost:5000/public/images/graph_images_for_pdf/2021102161712PM.jpeg。如何改为添加图片。
var fs = require ("fs");
var image = graphimage;
var bitmap = Buffer.from(image, 'base64');
var _path = "./public/images/graph_images";
var imagename = nmae+".jpeg";
fs.writeFileSync(_path+'/'+imagename, bitmap);
这就是我在我的 api 中保存文件的方式。其中 graphimage 是来自前端的字符串。
【问题讨论】:
-
添加和img标签并在src属性中写下你的替换规则,将呈现实际图像
-
我做了,但问题是 data:image/jpeg;base64, 标记在 base64 字符串中。有什么方法可以删除它并从前端发送?
-
使用 string.replace("data:image/jpeg", base64string) 从 b64 中删除标签
-
兄弟我已经更新了我的代码。在哪里应用这个字符串。替换。
-
var image = graphimage.replace("data:image/jpeg", "");
标签: html node.js express canvas base64