简体   繁体   中英

Access folders in root directory

Hi I am developing an asp.net web application. I have to access one of the image in images folder in root directory. I am using following code in my code behind file.

string imageDirectory = HttpContext.Current.Server.MapPath("~/images/");
string imageUrl = imageDirectory + "/img1.bmp";

This works fine in my local machine. My question is does this code work when I move my application to production ?

If you're thinking of putting imageUrl into an <img> tag, then no, it won't work. Server.MapPath will return your file or directory as a local Windows file/directory name, so something like "C:\\WebRoot\\MyWebApplication". If you send this to the browser, obviously, the browser won't pick up the image.

What you can do is something like:

string imageUrl = ResolveClientUrl("~/images/myImage.gif");

It should as long as you have an application root/virtual directory for your site.

Also, you can combine these two lines into:

string imageUrl = HttpContext.Current.Server.MapPath("~/images/img1.bmp");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM