我正在使用node / express并尝试按照我在此处看到的答案:Display Pdf in browser using express js
但我不确定如何找到PDF文件的路径。它位于项目文件夹的主目录中,位于名为“file”的文件夹中,所以我认为路径只是
./file/myPDF.pdf
但无论我使用何种路径,我都会收到“无法加载PDF文档”。
答案 0 :(得分:2)
使用相对路径不是一个好主意,NodeJS提供a "global" to build an absolute path:
var myPdf = require('path').normalize(__dirname + '/file/myPDF.pdf');
答案 1 :(得分:2)
__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
。
快乐帮助!