Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show image stored in App_Data

I have 2 image files in my App_Data directory and I want to show them in my view like this:

@foreach (var media in Model)
{
     <div class="col-lg-3 col-md-4 col-xs-6 thumb">
         <a class="thumbnail"><img src="@Url.Content("~/App_Data/uploads/" + @media.URL)" alt="image" /></a>
      </div>
}

When I check the link in the browser I get this :

<img src="/App_Data/uploads/Warnings.png" alt="image">

It says he can't find the image. How can I set the correct link?

like image 702
nielsv Avatar asked Dec 19 '13 17:12

nielsv


1 Answers

The App_Data folder is a special .NET "system" folder in which IIS is configured to not allow the contents of that folder to be visible to web users. Create a different folder to store your images as you really should not allow App_Data to be web visible (if you can even change the setting).

From iis.net:

For example, on Web servers that are hosting ASP.NET content, IIS 7 blocks several of the ASP.NET-related paths for you; Web.config, bin, App_Code, etc. Blocking these URL segments reduce the chance of an attacker being able to exploit these URLs for information.

like image 135
Tommy Avatar answered Sep 28 '22 15:09

Tommy