nodeJS,将文件移动到新文件夹

nodeJS, moving a file to a new folder

我正在尝试将现有文件移动到不存在的新文件夹中。我试过了:

var source = fs.createReadStream(file.thumbnail.path);
var dest = fs.createWriteStream('./public/uploads/'+ user._id + '/' + file.myfail.name);

source.pipe(dest);

但是,我一直收到此错误 Error: ENOENT, open './public/uploads/553283d3216c3895055612dd/18f1b232024ac9d7a5d398dc9291e160.jpg'

我也试过使用 __dirname,但似乎没有用。

我很确定这是一个不存在的文件夹问题,但我不确定如何解决它。

PS: 检查文件夹不存在后,如何创建?

谢谢

ENOENT错误是因为文件或文件夹不存在。

解决此问题的唯一方法是打开一个确实存在的文件。也许在您尝试此操作之前用户的文件夹不存在?检查文件夹是否存在。

另一件需要注意的事情是 Node.js 有一个 path 模块,它提供了很多有用的文件路径工具。

var path = require( 'path' )
var destination = path.join( __dirname, 'public/uploads', user._id, file.myfile.name )

您需要检查子目录“./public/uploads/”+ user._id 是否存在。

如果不存在,请在尝试写入不存在的目录之前创建该目录。