【问题标题】:Cannot get image EJS using express.static (Node JS)无法使用 express.static (Node JS) 获取图像 EJS
【发布时间】:2020-10-06 07:50:16
【问题描述】:

我尝试使用 ejs 从上传路径收集图像,这是我的文件路径

这是我在“dotemplate.js”上的代码

<div class="col-xs-12">
    <h2 style="text-align: center; font-size: 12pt" >ATTACHMENT</h2>
    <hr size="10px">
    <div>

        <img src="/picture-1592300001150.jpg" alt="Attachment photo" />
    </div>
            <div> 

这是路径“票”上的“controller.js”

 ExportPDFdeorder: async function(req, res, next){
    const dord = await lstTicketById(req.params.id);
    try {
        const name = await Date.now();
        ejs.renderFile(path.join(__dirname, './template', "deorder.template.ejs"),{Ticket: dord,}, (err, data) => {
            if (err) {
                console.log(err);
                return res.status(500).json({status: "error", data: err});
            } else {
                let options = {
                    "format": "A4",
                    "orientation": "portrait",
                    "border": {
                        "top": "1cm",            // default is 0, units: mm, cm, in, px
                        "right": "2cm",
                        "bottom": "1cm",
                        "left": "1cm"
                    },
                };
                pdf.create(data, options).toFile(`temp/${name}.pdf`, function (err, data) {
                    if (err) {
                        res.send(err);
                    } else {
                        var file= `temp/${name}.pdf`;
                        fs.readFile(file,function(err,data){
                            res.contentType("application/pdf");
                            res.send(data);


                        });
                    }
                });
            }
        });
    } catch (e) {
        console.log(e)
        return res.status(500).json({status: "error", data: "internal server error"});
    }
}

};

这是我在“server.js”上的代码

app.use('./ticket', express.static('uploads'))

app.listen(config.port, () => console.log(server started));

我仍然无法从上传路径获取图像,有人可以帮我告诉我什么问题吗?

【问题讨论】:

    标签: javascript html node.js express ejs


    【解决方案1】:

    我已经解决了这个问题,我使用&lt;img src="http:/localhost:3000/users1592300001150.jpg" alt="Attachment photo" /&gt;

    【讨论】:

      【解决方案2】:

      要在静态文件夹中获取图像:

      1) 配置应用程序:

      app.use('/ticket', express.static('uploads'));
      

      2) 在您看来,访问 uploads 文件夹中的内容,如下所示:

      <img src="/ticket/picture-1592300001150.jpg" alt="Attachment photo" />
      

      【讨论】:

      • 我已经尝试过了,我也路由 app.use('/ticket/template', express.static('uploads'));仍然没有帮助。但我发现解决方案使用完整的网址拍摄图像,如 localhost:3000/picture-1592300001150.jpg。并且这个问题已经解决了,谢谢您的回复!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多