在我的nodejs应用程序(MeteOrjs)中,我需要使用绝对路径来通过fs.createWriteStream
创建文件:
const absolutePath = '/Users/Anybody/Documents/Project/imports/temp'
if (Meteor.isServer) {
const result = new Promise(function (resolve, reject) {
const gfs = Grid(
MongoInternals.defaultRemoteCollectionDriver().mongo.db,
MongoInternals.NpmModule
)
const readerStream = gfs.createReadStream({ _id: id })
const writerStream = fs.createWriteStream(absolutePath + 'temp.mp4')
// ...
})
}
这就是我在MacOS上进行开发的代码的样子。应用程序的生产版本已部署到Ubuntu服务器。因此,绝对路径是不同的。
我尝试使用path
:
const path = require('path')
const absolutePath = path.resolve('/imports/temp')
,但这仅给我/imports/temp
(在MacOS上)
您可以使用process.env.pwd获取项目的基本路径。然后,您可以添加剩余的文件夹段路径。
var base = process.env.PWD;
const absolutePath = base + '/imports/temp';