javascript - 网络驱动器上 appendFile 上的 EPERM

标签 javascript node.js filesystems

应用程序必须将日志数据存储到网络驱动器。 当驱动器托管在 Windows 下时,一切正常。 当驱动器托管在 Mac 下时,读/写是可以的,但是 append 获取 EPERM,所以 log 根本不起作用。 代码很简单

fs.appendFileSync('xxx.txt', 'zzzzzzzz');

如何正确追加数据?该文件通常太大而无法加载到内存中。

更新:read-write-delete-create 没问题!仅使用附加打开失败

最佳答案

我会选择 Luc Gendriks。EPERM 当您对文件/文件夹没有足够的权限时会发生。请尝试以下操作

代码:

 fs.chmod('xxx.txt', 777, function(err){
  if(err){
   console.log(err);
   return;
  }
  fs.appendFileSync('xxx.txt', 'zzzzzzzz');
});

引用:

https://nodejs.org/api/fs.html#fs_fs_chmodsync_path_mode https://nodejs.org/api/fs.html#fs_fs_appendfilesync_file_data_options

希望这会有所帮助。

关于javascript - 网络驱动器上 appendFile 上的 EPERM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34161432/

相关文章:

javascript - 如何使用 JavaScript 停止文件上传事件

javascript - Android/iOS WebView 未遵循 CORS HTTP 重定向 (30x)

validation - 有没有办法在 Mongoose 中定义没有 .save() 方法的模型?

c++ - 如何将游戏的 Assets 打包,只允许引擎读取?

c++ - 我可以使用掩码在 Boost 目录中迭代文件吗?

java - 当我读/写文件时发生了什么(在操作系统级别)?

javascript - 重新加载ajax放大弹出窗口

javascript - 如何使用 TweenJS 制作 EaselJS 渐变动画?

node.js - Sequelize工作流程不与用户关联

javascript - 如何向本地托管的 Node.js 服务器发出 jQuery 请求?