我正在尝试将本地文件复制到共享文件夹,但显示的是EPERM错误。这是我的代码:
var fs = require('fs');
var is = fs.createReadStream(SOURCE_FILE);
var os = fs.createWriteStream(TARGET_FILE);
is.pipe(os);
is.on('end', function() {
console.log('success');
});
...这是错误消息: 应用程序抛出了未捕获的异常并被终止: 错误:EPERM,打开' TARGET_FILE'
TARGET_FILE包含一个Windows共享文件夹,其中包含所有用户的所有权限
提前致谢
答案 0 :(得分:0)
如果您在IIS 7/8上运行IISNODE,它可以在一个特殊类型的用户上运行,该用户不会继承"所有用户"权限。
如果从命令提示符运行iisnode,它可能以您登录的用户身份运行。如果您在服务包装器中运行它,它可能也在一个"用户"不继承"所有用户"允许。您可以加载任务管理器(右键单击任务栏)以查看正在运行该进程的用户。
如果您在IIS中使用IISNODE,则node.js使用与您在其下运行的域相同的用户。通常是DefaultAppPool。
授予DefaultAppPool权限:
右键单击文件夹
选择属性