根据文件类型将文本文件写入 ftproot 文件夹时出现拒绝访问错误

Access denied error when writing a text file into the ftproot folder based on file type

我有一个 c# .Net 网页,它将 .csv 文件写入 Windows 2019 服务器上的 inetpub\ftproot 文件夹。

string fileName = @"d:\inetpub\ftproot\competencies.csv";
using (System.IO.TextWriter w = new StreamWriter(fileName, false, Encoding.ASCII))

当我尝试创建文件时,出现拒绝访问错误。

System.UnauthorizedAccessException
HResult=0x80070005
Message=Access to the path 'd:\inetpub\ftproot\competencies.csv' is denied.

我将文件夹和子文件夹的文件权限更改为“所有人”和“完全控制”,以查看权限是否是问题所在,同样的错误。我更改了 IIS 基本设置中的连接以使用管理员查看是否可以修复它。它没有。我检查以确保文件不存在。它没有。

最后,我将文件扩展名从 .csv 改为 .txt,结果成功了!它把文本文件写得很好。那么,.csv 扩展名会导致拒绝访问错误吗?

编辑: Procmon 显示如下:

7:38:46.0371899 AM  w3wp.exe    23216   CreateFile  D:\inetpub\ftproot\Competencies.csv IS DIRECTORY    Desired Access: Generic Write, Read Attributes, Disposition: OverwriteIf, Options: Sequential Access, Synchronous IO Non-Alert, Non-Directory File, Open No Recall, Attributes: n/a, ShareMode: Read, AllocationSize: 0

Caius 实际上非常接近答案!没有打开该文件的程序,但在最初创建应用程序时,我以某种方式创建了一个同名的隐藏文件。当我打开隐藏文件时,我看到了。