如何访问托管服务器的其他目录

本文关键字:服务器 其他 何访问 访问 | 更新日期: 2023-09-27 18:27:32

我在asp.net中有一个网站。我在服务器上托管了它。我的服务器有三个目录,分别命名为C、D、E。我的Asp.net应用程序在C驱动器中。在一个模块中,我上传了一些图像,这些图像存储在我的服务器的D目录中。现在我想从asp.net代码访问它,但它显示了一条错误消息:"asp.net是一个物理路径,但需要一个虚拟路径"。如何访问此场景中的图像。请帮帮我……我的密码如下。。

ImageButton lnkbtn = sender as ImageButton;
       GridViewRow gvrow = lnkbtn.NamingContainer as GridViewRow;
       string fileName = grvImpact.DataKeys[gvrow.RowIndex].Values[3].ToString();
       string filePath = "D://Upload//CRDocument//" + fileName.ToString();
       if (fileName != null)
           {
           Response.ContentType = "image/jpg";
           Response.AddHeader("Content-Disposition", "attachment;filename='"" + filePath + "'"");
           Response.TransmitFile(filePath);
           Response.End();
           }

它不起作用。。。

如何访问托管服务器的其他目录

使用Server.MapPath指定映射到物理目录的相对路径或虚拟路径。

string FilePath;
FilePath = Server.MapPath("/MyWebSite");

假设您有

URL

www.mydomain.com/D/images/MyMegaImage.jpg

文件系统

c:'inetpub'mywebsite'wwwroot'D'images'MyMegaImage.jpg

在代码中,你会有类似的东西

string imageFileName = "MyMegaImage.jpg";
string FullFilePath = HttpContext.Current.Server.MapPath("/D/images/" + imageFileName);

则变量FullFilePath应在"c:''inetpub''mywebsite''wwwroot''D''images''MyMegaImage.jpg"中计算