不工作 createWriteStream 和绝对路径

Not work createWriteStream and absolute path

我有 1 个问题。不明白它是如何工作的。

我想在 fs.createWriteStream 中创建文件,因此只能使用相对路径。已创建所有文件夹

let p = path.resolve(`../uploads/${data.id}/${file.originalname}`).toString()

outStream = fs.createWriteStream(`./uploads/example.txt`,{flags:'w'}) //work
outStream = fs.createWriteStream(`${__dirname}/uploads/2/example.txt`,{flags:'w'}) //not work

outStream = fs.createWriteStream(p,{flags:'w'}) //not work

ENOENT:没有这样的文件或目录,打开“/Users/arsenkarapetan/Documents/sedalina/server/uploads/2/example.txt”

它是如何正确的?也许我没有权限?

目录 /Users/arsenkarapetan/Documents/sedalina/server/uploads/2/ 需要存在才能在其中创建文件,我认为在您的情况下它可能还不存在。

您可以使用像 mkdirp 这样的模块在创建文件流之前先创建所有中间目录。