回 帖 发 新 帖 刷新版面

主题:[讨论]Server.MapPath()如何确定它的虚拟路径?

在运行一下代码时出错:
private void Page_Load(object sender, System.EventArgs e)
        {
string imagePath= Server.MapPath("/images/3.jpg");
System.Drawing.Bitmap iamge=new Bitmap(imagePath);
Image1.ImageUrl= Server.MapPath("/images/3.jpg");
}

注:绝对路径为c:\inetpub\wwwroot\images\3.jpg


出错情况如下:
“/test20”应用程序中的服务器错误。
--------------------------------------------------------------------------------

使用了无效参数。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.ArgumentException: 使用了无效参数。

源错误: 


行 23:         
行 24:             string imagePath= Server.MapPath("/images/3.jpg");
行 25:             System.Drawing.Bitmap iamge=new Bitmap(imagePath);
行 26: Image1.ImageUrl= Server.MapPath("/images/3.jpg");
行 27:             // 在此处放置用户代码以初始化页面
 

源文件: c:\inetpub\wwwroot\test20\loadimage.aspx.cs    行: 25 

堆栈跟踪: 


[ArgumentException: 使用了无效参数。]
   System.Drawing.Bitmap..ctor(String filename)
   test20.loadimage.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\test20\loadimage.aspx.cs:25
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain()

 

回复列表 (共5个回复)

沙发

rivate void Page_Load(object sender, System.EventArgs e)
        {
string imagePath= Server.MapPath("../images/3.jpg");
System.Drawing.Bitmap iamge=new Bitmap(imagePath);
Image1.ImageUrl= Server.MapPath("../images/3.jpg");
}

板凳


唉,  .net都忘光了,现在看起来好生了,,

3 楼

改成如下仍不行:
string imagePath= Server.MapPath("../images/3.jpg");
System.Drawing.Bitmap iamge=new Bitmap(imagePath);
Image1.ImageUrl= Server.MapPath("../images/3.jpg");

4 楼

把MapPath("../images/3.jpg")改成MapPath("images\3.jpg")就可以了。

5 楼

this.strUrl=HttpContext.Current.Request.MapPath("文件夹名")+"\\"+"文件名"

应该是这样的吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册