显示存储在App_Data中的图像

时间:2013-12-19 17:28:48

标签: asp.net asp.net-mvc image asp.net-mvc-4 app-data

我的App_Data目录中有2个图像文件,我想在我的视图中显示它们:

@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 个答案:

答案 0 :(得分:9)

App_Data文件夹是一个特殊的.NET“系统”文件夹,其中IIS配置为不允许Web用户看到该文件夹​​的内容。创建一个不同的文件夹来存储您的图像,因为您实际上不应该允许App_Data显示在Web上(如果您甚至可以更改设置)。

From iis.net

  

例如,在托管ASP.NET内容的Web服务器上,IIS 7   为您阻止几个与ASP.NET相关的路径; Web.config,bin,   App_Code等。阻止这些URL段减少了一个机会   攻击者能够利用这些URL获取信息。