使用System.Drawing.Image.FromFile创建Image对象

时间:2013-04-09 08:33:30

标签: c# asp.net image

我正在尝试获取用户从列表框中选择的图像的图像尺寸。 FTP服务器上提供图像文件。我在列表框中显示文件名以供用户选择。选择后,我想显示图像的预览,因为我想获得尺寸,以便我可以根据需要调整尺寸。

我将链接到当前所选列表项的文件名存储到字符串变量中。我知道服务器上的路径。我使用以下代码来创建Image对象,但没有运气

try
{
     string dir = Session["currentUser"].ToString();
     System.Drawing.Image img = System.Drawing.Image.FromFile("~/Uploads/"+dir+"/"+fName, true);     //ERROR here, it gives me file URL as error message!
}
catch(Exception ex)
{
     lbl_Err.Text = ex.Message;
}

不确定出了什么问题。有什么想法吗?

1 个答案:

答案 0 :(得分:10)

使用Server.MapPath从服务器获取图像 如下

System.Drawing.Image img = 
      System.Drawing.Image.FromFile(Server.MapPath("Uploads/"+dir+"/"+fName), true);  

您也可以使用以下内容

  • Server.MapPath(“。”)返回正在执行的文件的当前物理目录(例如aspx)
  • Server.MapPath(“..”)返回父目录
  • Server.MapPath(“〜”)返回应用程序根目录的物理路径
  • Server.MapPath(“/”)返回域名根目录的物理路径(不一定与应用程序的根目录相同)

参考
Server.MapPath("."), Server.MapPath("~"), Server.MapPath(@"\"), Server.MapPath("/"). What is the difference?