MVC4正在从SQL Server表中检索图像文件到html图像
本文关键字:图像 检索 文件 html SQL Server MVC4 | 更新日期: 2023-09-27 18:21:31
我试图在MVC4 web应用程序上创建用户配置文件页面。
在用户配置文件页面上有一个图像<img />
标签,用于显示配置文件照片。在图片下方,有"浏览"、"上传"按钮供用户浏览和上传照片。单击上传按钮,它应该将照片上传到SQL Server,并在配置文件页面上显示图像。
我可以上传照片并保存到SQL Server表中。现在我想将照片从SQL Server表中检索到配置文件页面。
这是我的用户配置文件页面/.cs.html页面(剃刀视图)
@model MvcSamples.Models.UserPicModel
@{
ViewBag.Title = "PersonalInfo";
}
<h2>PersonalInfo</h2>
<form action="/UserDetails/PersonalInfo" method="post" enctype="multipart/form-data">
<img src="" alt="ProfilePhoto" />
<label for="photo">Photo:</label>
<input type="file" name="photo" id="photo" />
<input type="submit" value="Upload" />
</form>
这是我用来从SQL Server表中检索照片的代码。注意,照片是作为byte[]
从数据库中检索的
byte[] barrImg = usr.GetProfilePhoto(id);
当我调试时,我可以看到照片被检索到"barImg"。
我的问题1:从这里开始,我如何将其发送到<img src="" alt="ProfilePhoto" />
,以便在个人资料页面上显示实际照片?
问题2:有人能提出任何更好的替代方案建议/样本/指针来实现Jquery/Ajax/javascript 的相同功能吗
提前感谢
您可以使用FileResult
向响应发送二进制数据。
public FileResult GetProfileImage(int id)
{
var usr = new Whatever();
byte[] barrImg = usr.GetProfilePhoto(id);
return File(barrImg, "image/png");
}
您可以将其用作
<img src="@Url.Action("GetProfileImage", "Controller", new { id = 5})"