在node.js中获取文件完整path

我有一个应用程序,上传csv文件到一个特定的文件夹说上传。 现在我想获得该csv文件的完整path。 例如D:\ MyNodeApp \ uploads \ Test.csv

如何获取node.js中的文件位置? 我用multer来上传文件。

提前致谢

根据所提供的信息,我们可以做的很less,但我会做一些推测:

  • 您的“上传”文件夹位于您的应用程序文件夹内。
  • 目录结构非常简单并且是固定的,所以你有你的应用程序文件夹和一个级别,你有你的“上传”文件夹。

然后,你可以像这样得到这些文件的完整path:

//index.js var filename = "myfile.csv"; ///you already have this one. var fullpath = __dirname + "/uploads/" + filename; 

就是这样,通过使用__dirname ( 请参阅docs这里 )variables,您将获得完整path到index.js文件,然后从那里手动添加剩余的path。

 var path = require("path"); var absolutePath = path.resolve("Relative file path"); 

您的目录结构例如:

C: – > WebServer->公开 – > Uploads-> MyFile.csv

和你的工作目录将是公共例如,path.resolve会是这样的。

 path.resolve("./Uploads/MyFile.csv"); 

POSIX home / WebServer / Public / Uploads / MyFile.csv
WINDOWS C:\ WebServer \ Public \ Uploads \ MyFile.csv

这个解决scheme是多平台的,允许你的应用程序在windows和posix机器上工作。

假设您使用快递使用multer,请在您的控制器方法中尝试以下操作:

 var path = require('path'); //gets your app's root path var root = path.dirname(require.main.filename) // joins uploaded file path with root. replace filename with your input field name var absolutePath = path.join(root,req.files['filename'].path)