node.js - nodeJS,将文件移动到新文件夹

标签 node.js fs

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

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

source.pipe(dest);

但是,我不断收到此错误错误:ENOENT,打开'./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 )

关于node.js - nodeJS,将文件移动到新文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955240/

相关文章:

javascript - 如何通过 REST API 使用feathers.js 读取文件?

javascript - meteor.js 和 npm 需要 fs

node.js - 如何插入嵌套对象数组

node.js - Express.js 项目结构

node.js - 如何使用 mongo、passport 和 Node js 更新用户的个人资料?

javascript - 在node.js中设置很多路由

Node.js 安装 - 找不到 Express

javascript - 从 node.js 中的文件流中删除最后一个字符(fs 模块)

javascript - 使用 FS 读取字符串会返回此错误 : Unexpected token r in JSON at position 0

javascript - fs.FileRead -> TypeError [ERR_INVALID_ARG_TYPE] : The "path" argument must be one of type string, 缓冲区或 URL。接收类型未定义