2013-12-19 8 views
4

У меня есть 2 файлы изображений в моем каталоге App_Data, и я хочу, чтобы показать им, на мой взгляд, как это:Показать изображение, сохраненное в App_Data

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

Когда я проверяю ссылку в браузере я получаю это:

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

В нем говорится, что он не может найти изображение. Как установить правильную ссылку?

+1

Проверьте, был ли у вас установлен web.config в папке App_Data, это может вызвать множество проблем. В любом случае вы не должны хранить изображения в этой папке. –

+1

@RobertoConteRosito является правильным. Вы действительно не должны. http://stackoverflow.com/questions/1519790/images-that-are-in-app-data-folder-not-shown-in-browser – LiverpoolsNumber9

ответ

10

Папка App_Data представляет собой специальную «системную» папку .NET, в которой IIS настроен так, чтобы не допускать видимость содержимого этой папки для веб-пользователей. Создайте другую папку для хранения изображений, так как вы действительно не должны позволять App_Data быть видимым в Интернете (если вы даже можете изменить настройку).

From iis.net:

К примеру, на веб-серверах, хостинг контента ASP.NET, IIS 7 блоков несколько из ASP.NET, связанных с путями для вас; Web.config, bin, App_Code и т. Д. Блокировка этих сегментов URL снижает вероятность того, что злоумышленник сможет использовать эти URL для получения информации.

Смежные вопросы