我正在尝试从IIS提供的REST端点写出一些文件。写入本地驱动器时一切顺利。 但是,写入映射驱动器时,不会创建任何文件。
案例1 - 本地 - 工作
outputOrderFilesLocal = (req, res, next) => {
fs.writeFile('./receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
案例2 - 网络 - 破碎
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('Z:/receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
我已在Z:
驱动器上设置文件夹权限以允许NetworkService
,并已将应用程序池标识更改为IIS中的NetworkService
。
是否可以写入映射驱动器?是否需要设置其他权限或配置才能使其正常工作?
答案 0 :(得分:1)
Z是在用户帐户级别定义的路径。它映射到特定的网络路径,但只映射到某个用户。运行IIS的帐户可能没有Z的定义。
相反,使用Z是的完整UNC路径:
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('\\\\uncservername\\uncserverpath\\receipts\\filename.txt', data, (err) => {
if (err) throw err
})
}
您还需要为在UNC路径上运行该进程的帐户配置权限,操作系统级别权限,因为通常IIS帐户不具有这些权限。