2015-06-16 44 views
-1

下面是我的代码,我得到以下error.Please帮助..是不是从网络驱动器有效的虚拟路径文件

private const string FILEPATH = @"\\**.**.**.**\D:\BCPResult\Cust_File.txt"; 
string filePath = string.Empty; 
filePath = Server.MapPath(FILEPATH); 
string fileName = Path.GetFileName(filePath); 
Response.ContentType = "text/plain"; 
Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName); 
Response.TransmitFile(filePath); 
HttpContext.Current.ApplicationInstance.CompleteRequest(); 
Response.Flush(); 
Response.End(); 

错误: - \ ++ ++ ++。 。++ \ D:\ BCPResult \ Cust_File.txt'不是有效的虚拟路径。

回答

0

尝试在Windows资源管理器:start run: \\**.**.**.**\D:\BCPResult\Cust_File.txt

这将是\\**.**\D$\BCPResult\Cust_File.txt

但是,如果你使用的是,它是一个网络路径,而不是虚拟相对于你的网站的路径,所以你不需要Server.MapPath()这将使您:

C:\inetpub\wwwroot\**.**\D$\BCPResult\Cust_File.txt 

哪里c:\inetpub\wwwroot\是IIS根(不是你的应用程序)(也可能是不同的) - 这是因为\\部分重置在您的应用程序根路径之外。如果你做Server.MapPath("x")它将基于你的应用程序的根。

+0

现在它说。访问路径'\\ ++。++。++。++ \ D $ \ BCPResult \ Cust_File.txt'被拒绝..可能是权限问题...如何解决它。 – Ashish

+0

通过授予权限... D $是远程服务器上的共享,因此需要通过共享以及直接在驱动器上进行访问。您最好在服务器上的D:\ BCPResult上创建一个*新的共享:登录服务器,右键单击文件夹,属性,共享,高级共享 - 为您的应用程序池授予读取权限使用。 –

+0

这可能有所帮助:http://stackoverflow.com/questions/5437723/iis-apppoolidentity-and-file-system-write-access-permissions –

相关问题