应用程序必须将日志数据存储到网络驱动器。 当驱动器托管在 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/