如何访问托管服务器的其他目录
本文关键字:服务器 其他 何访问 访问 | 更新日期: 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"中计算