指定在部署时可以到达的node.js项目中的pdf路径

时间:2018-04-26 16:43:38

标签: node.js google-cloud-platform

我正在Google云平台上部署node.js网站,我希望将我的简历保存在我的本地目录中。我的代码如下:

import { Router }   from 'express';
import * as express from 'express';
import * as path    from 'path'   ;
import * as pug     from 'pug'    ;
import * as fs from 'fs';

const index: Router = Router();


index.get('/curriculum-vitae', (req, res, next) => { 

    var pdf_path = "local/path/to/resume.pdf"   

    fs.readFile( pdf_path, (err, data) =>{
        res.contentType('application/pdf');
        res.send(data)
    })
});

但是,我想将pdf_path更改为相对路径,以便在部署应用程序时可以在远程服务器上找到它。目前尚不清楚如何这样做,因为fs.readFile似乎只采取绝对路径。

1 个答案:

答案 0 :(得分:1)

来自fs的文档:

  

字符串表单路径被解释为标识绝对或相对文件名的UTF-8字符序列。相对路径将相对于process.cwd()指定的当前工作目录进行解析。

所以支持相对路径 ,但是从调用node的目录开始。

如果您希望使用相对于当前JS源文件的路径,请使用__dirname。要访问项目根文件夹,只需..__dirname开始,直到到达项目根目录。这将始终有效,因为您的源结构不会发生变化。