将相对路径转换为绝对路径的节点,不需要



我有以下问题,在函数sendDownload(可下载的,objPathArray, responseObject)我正在接收参数objPathArray这样:

[{"pathToFile":"./REPORTS/portfolio/onDemand/Portfolio_report_HP_17.08.2021.xlsx","file":"Portfolio_report_HP_17.08.2021.xlsx"}]

函数:

function sendDownload(downlodable ,objPathArray, responseObject) {    
if (downlodable) {  
responseObject.download((objPathArray[0].pathToFile), (objPathArray[0].file))      
console.log('HERE ' + JSON.stringify(objPathArray))        
}
}

但是当我在我的应用程序中调用函数时,我收到这个错误Error: ENOENT: no such file or directory, stat 'C:Workreporting-serverREPORTSportfolioonDemandPortfolio_report_HP_17.08.2021.xlsx',这是因为Node正在以绝对的方式改变我的文件的相对路径。要解决这个问题,我的最佳选择是什么?

谢谢~

Node.jsmust解析查找文件的路径。

如果你给它一个相对路径那么它必须从开始

如果你想让它从其他地方读取文件,那么你自己把它解析为一个绝对路径。

一般来说,执行此操作的工具将是path.resolve和告诉它从哪里开始的东西,例如配置文件,环境变量或模块所在的目录。

最新更新