VS2012未显示控制器上传的图像

时间:2019-01-02 15:18:45

标签: asp.net model-view-controller asp.net-mvc-5

我创建了一个用于上传图像的页面,效果很好,但是当我想在视图中显示该上传的图像时,我不能。

我的图像存储在图像/产品/ {产品名称} /

在我看来

@Foreach(var item in product.images){
    <img src="~/images/products/{productname}/@item.name" />
}

//我的名字拼写正确

在debug src中具有正确的值,但不显示图像, 但是,当我从内容文件夹提供URL时,它会显示该图像, 即使在解决方案资源管理器中。 VS不会通过控制器代码显示上传的图像和创建的文件夹,

1 个答案:

答案 0 :(得分:0)

您可能需要向Images / products {productName}文件夹添加权限。

  1. 打开IIS管理器
  2. 单击提供图像的网站或应用程序
  3. 点击右侧的“基本设置”链接-注意应用程序 池名称并取消该对话框。
  4. 单击左侧服务器树中的“应用程序池”。 应用程序池-用您的名字记录应用程序池的标识 在第3步中记录
  5. 现在,在Windows资源管理器中,您可以右键单击图像文件夹,     选择属性,然后单击“安全性”选项卡。找出     与应用程序池使用的身份相关联的用户。如果不是     那里没有权限如果有,请单击它,然后     在权限窗格中查看以确保选中“读取”(或根据需要进行写入/修改或完全控制)。

如果您在“图片”文件夹中手动添加子文件夹,则需要重复该步骤

最佳做法是将图像保存在内容文件上,因为默认情况下它已具有读取权限。或者另一种方法是您可以将文件保存在App_Data上或将文件托管在云上(有时间限制以显示更好的安全性)。