我在vb.net中有以下代码:
Dim PreApprovalDir = "/Inspections/" ' Virtual Directory to N:\Inspections\Pre-Approval Inspections
Dim di As New DirectoryInfo(Server.MapPath(PreApprovalDir))
Dim fiArr As FileInfo() = di.GetFiles()
Dim fri As FileInfo
For Each fri In fiArr
'If fri.Name.StartsWith(FileNamePrefix) And fri.Name.EndsWith(".pdf") Then
If fri.Name.StartsWith(FileNamePrefix) Then
Exit For
End If
Next fri
我收到以下错误:
[DirectoryNotFoundException: Could not find a part of the path 'N:\Inspections\Pre-Approval Inspections'.]
在di.GetFiles()
行。
我使用GUI设置虚拟目录是IIS所以我有信心我没有拼错任何东西。
我浏览到Windows资源管理器中的N:\ Inspections \ Pre-Approval Inspections。
我是IIS和VB.net的新手,所以这可能是我的一些愚蠢的错误。在我开始工作之后,我需要访问找到的文件:
我会这样读他们:
Response.WriteFile(Path.Combine(Server.MapPath(PreApprovalDir), fri.Name))
[编辑]这与其他StackOverflow问题不同,因为GetFiles()调用失败了。
如何将此调试作为源文件夹的权限问题?我可以使用Windows资源管理器浏览到该文件夹。我还能检查一下吗?
[编辑:报告重大进展] 我将我的数据从N:复制到C:并且能够使其工作,包括从磁盘读取.pdf文件。是否有一些限制,虚拟目录不能在共享驱动器上工作?如果不是,我会深入了解权限。
答案 0 :(得分:0)
解决方案是我需要将虚拟目录指向
\\ServerN\c\somepath\
而不是
N:\somepath\
IIS没有发出任何警告,表明映射驱动器不起作用。
但是,当我成功映射IIS配置实用程序中出现的子文件夹时。那是我发现自己成功的时候。因为这是我第一次使用虚拟文件夹,所以我不知道要查找它。