3

我正在尝试获取用户从列表框中选择的图像的图像尺寸。图像文件在 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;
}

不知道出了什么问题。有任何想法吗?

4

1 回答 1

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("/")。有什么不同?

于 2013-04-09T08:37:08.750 回答