writeFile 没有这样的文件或目录

新手上路,请多包涵

我有一个文件( data.file 一个图像),我想保存这个图像。现在 可以 在它之前存在具有相同名称的图像。如果是这样,我想覆盖它,如果它以前不存在,我想创建它。我读到标志“w”应该这样做。

代码:

 fs.writeFile('/avatar/myFile.png', data.file, {
  flag: "w"
}, function(err) {
  if (err) {
    return console.log(err);
  }
  console.log("The file was saved!");
});

错误:

 [Error: ENOENT: no such file or directory, open '/avatar/myFile.png']
errno: -2,
  code: 'ENOENT',
    syscall: 'open',
      path: '/avatar/myFile.png'

原文由 basickarl 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

这可能是因为您尝试写入文件系统的根目录而不是您的应用程序目录 '/avatar/myFile.png' -> __dirname + '/avatar/myFile.png' 应该可以解决问题,还要检查文件夹是否存在。 node.js 不会为您创建父文件夹。

原文由 SergeS 发布,翻译遵循 CC BY-SA 3.0 许可协议

它告诉您 avatar 文件夹不存在。在将文件写入此文件夹之前,您需要检查名为 "avatar" 的目录是否存在,如果不存在,请创建它:

    if (!fs.existsSync('/avatar')) {
      fs.mkdirSync('/avatar', { recursive: true});
    }

原文由 Abhay Kumar Upadhyay 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题