【问题标题】:how to add image in ejs template which is converted to pdf如何在转换为pdf的ejs模板中添加图像
【发布时间】: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


【解决方案1】:

需要把字符串开头的base64签名标签去掉,这样才能解析成功。代码应该是这样的

var fs = require ("fs");
      var image = graphimage.replace("data:image/jpeg", "");
      var bitmap = Buffer.from(image, 'base64');
       var _path = "./public/images/graph_images";
      var imagename = nmae+".jpeg";
      fs.writeFileSync(_path+'/'+imagename, bitmap);

【讨论】:

    猜你喜欢
    • 2018-09-05
    • 2019-08-08
    • 2020-08-15
    • 1970-01-01
    • 2020-06-28
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    相关资源
    最近更新 更多