【问题标题】:How do I find path to item in nodejs?如何在nodejs中找到项目的路径?
【发布时间】:2016-07-05 23:56:34
【问题描述】:

我正在使用 node/express 并尝试遵循我在这里看到的答案:Display Pdf in browser using express js

但我不确定如何找到我的 PDF 文件的路径。它位于项目文件夹的主目录中,在一个名为“文件”的文件夹中,所以我认为路径只是

./file/myPDF.pdf

但无论我使用什么路径,我都会收到“无法加载 PDF 文档”。

【问题讨论】:

    标签: node.js pdf express


    【解决方案1】:

    __dirname 解决了 node.js 中的路径问题。它始终是当前正在执行的脚本所在的目录。

    以下是完整的工作代码

    - files
         - my_pdf_file.pdf
    

    app.js

    var express = require('express'),
        fs = require('fs'),
        app = express();
    
    app.get('/', function (req, res) {
        var filePath = "/files/my_pdf_file.pdf";
    
        fs.readFile(__dirname + filePath , function (err,data){
            res.contentType("application/pdf");
            res.send(data);
        });
    });
    
    app.listen(3000, function(){
        console.log('Listening on 3000');
    });
    

    完整的文件和正在运行的项目

    克隆节点作弊pdf_browser,运行node app,然后运行npm install express

    乐于助人!

    【讨论】:

      【解决方案2】:

      使用相对路径不是个好主意,NodeJS 提供a "global" to build an absolute path

      var myPdf = require('path').normalize(__dirname + '/file/myPDF.pdf');
      

      【讨论】:

        猜你喜欢
        • 2023-04-08
        • 2013-09-14
        • 2016-05-27
        • 1970-01-01
        • 2012-10-12
        • 1970-01-01
        • 1970-01-01
        • 2019-01-12
        • 2014-07-01
        相关资源
        最近更新 更多