3

I am trying to get the image dimensions of an image that user selects from list box. Image files are available on FTP server. I am displaying file names in a list box for users to select. Upon selection, I want to show the preview of image, for that I want to get dimensions so that I can resize it if i need to.

I am storing file name that is linked to currently selected list item into a string variable. I know that path on the server. I am using following code to create the Image object, but having no luck

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;
}

Not sure what is going wrong. Any ideas?

3
  • So, what do you need? Do you get any exceptions, wrong values or don't you know how to get the values? Commented Apr 9, 2013 at 8:35
  • I'm not into asp.net, is something starting with ~ a valid path? Commented Apr 9, 2013 at 8:35
  • FromFile requires the filename, so I am giving a relative path (absolute path throws another error), but in exception it throws System.IO.FileNotFoundException and the message property of ex is "~/Uploads/anemailtes/flower.png" Commented Apr 9, 2013 at 8:41

1 Answer 1

10

use Server.MapPath to fetch the image from the server.
As follows

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

You can use following as well

  • Server.MapPath(".") returns the current physical directory of the file (e.g. aspx) being executed
  • Server.MapPath("..") returns the parent directory
  • Server.MapPath("~") returns the physical path to the root of the application
  • Server.MapPath("/") returns the physical path to the root of the domain name (is not necessarily the same as the root of the application)

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

Sign up to request clarification or add additional context in comments.

3 Comments

thanks, it worked. Could you explain, because it gave me error when i used server.mappath earlier (must be used in-correctly )
Hi शेखर, How to get the image url in that From File method. For Ex: photos-public-domain.com/wp-content/uploads/2012/08/…
@Vel you need to use web request

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.