在mvc4中的_layout中显示数据库中的图像
大家好我所有的_layout
按照我的要求按照以下方式工作,但是这里有几件事我已经被攻击了,即我想显示相应的图像,我写的如下
@if (Session["UserName"] != null) {
}
但这并不是按照我的要求显示图像所以有人可以帮助我我想在用户登录后显示数据库中的图像我也希望在某些控件中显示session
值
这是我的控制器代码
public ActionResult GetPhoto(string photoId) { byte[] photo = null; var v = db.tblUsers.Where(p => p.UserName == photoId).Select(img => img.Photo).FirstOrDefault(); photo = v; return File(photo, "image/jpeg"); }
您似乎对语法有疑问。 它应该是这样的:
根据评论部分,您似乎在实际代码中使用了WebForms视图引擎( <%= Html.Encode(Session["UserName"]) %>
)。
这就是说这个代码有一个更严重的问题。 不应将当前经过身份validation的用户作为参数传递。 这是一个巨大的安全漏洞。 所以从摆脱它开始:
然后在你的控制器动作中你可以检索它:
public ActionResult GetPhoto() { string user = Session["UserName"] as string; byte[] photo = db .tblUsers .Where(p => p.UserName == user) .Select(img => img.Photo) .FirstOrDefault(); return File(photo, "image/jpeg"); }
- MVC相当于Webforms“UrlAuthorizationModule.CheckUrlAccessForPrincipal”
- 将less和css文件捆绑在一起
- ASP.NET MVC 4捆绑 – DEBUG模式下的单个文件URL
- MVC4将模型绑定到ICollection或List in partial
- WebAPI上传错误。 MIME多部分流的预期结束。 MIME多部分消息未完成
- 更改Google云端硬盘中的重定向url – C#(第2部分)
- 你可以从ApiController类访问GetOwinContext()。GetUserManager吗?
- MVC DropDownListfor()基础知识
- 将json对象发布到ASP MVC无法正常工作