无法使用ejs.renderfile正确渲染图像

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

我正在尝试从渲染的ejs文件创建pdf,但是无论我如何尝试都无法正确渲染图像。

我的app.js:

let express = require("express");
let app = express();
let ejs = require("ejs");
let pdf = require("html-pdf");
let path = require("path");

app.use( express.static( "public" ) );

app.get("/generateReport", (req, res) => {
    ejs.renderFile("./views/report-template.ejs",  (err, data) => {
    if (err) {
          res.send(err);
    } else {

        pdf.create(data).toFile("certificate.pdf", function (err, data) {
            if (err) {
                res.send(err);
            } else {
                res.send("File created successfully");
            }
        });
    }
});
})
app.listen(3000, function(){ 
    console.log('Server listening on port 3000'); 
  }); 


----------

我的report-template.ejs文件

<html>
    <body>
       <img src="certificate.jpg" width=675   height=792>
    </body>
</html>

我已经在所有位置(包括root,public等)保存了certificated.jpg。但是它不起作用。请帮助..我是编码和节点的新手。

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

我相信问题是,简单的certificate.jpg相对于您当前的路线/generateReport

如果将图像更改为<img src="/certificate.jpg" width=675 height=792>,则将图像存储在public/文件夹中应该可以使用

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