显示json结果类型中的图像数据
Display image data from json result type
这是我获取带有图片的帖子的Get操作方法:
public JsonResult GetPosts()
{
var ret = (from post in db.Posts.ToList()
orderby post.PostedDate descending
select new
{
PostedByName = post.ApplicationUser.UserName,
PostedByAvatar = _GenerateAvatarUrlForUser(post.PostedBy),
});
return Json(ret, JsonRequestBehavior.AllowGet);
}
这是我从数据库中检索图像的GetFileData操作方法:
public FileResult GetFileData(int fileId)
{
var file = db.Files.Single(x => x.FileId == fileId);
return File(file.Content, file.ContentType);
}
这就是生成url的方法:
private string _GenerateAvatarUrlForUser(int? Id)
{
var avatarImage = db.Files.SingleOrDefault(s => s.ApplicationUserId == Id);
if (avatarImage != null)
return Url.Action("GetFileData", new { fileId = avatarImage.FileId });
return String.Empty;
}
这是显示用户名和图片的视图页面,但我无法显示图片:
<div>
<div id="ajaxDiv">
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$.getJSON("/Post/GetPosts", null, function (data) {
var div = $('#ajaxDiv');
div.html("<br /> " + "Users received from server: " + "<br />");
$.each(data, function (i, item)
{
printUser(div, item);
});
});
});
function printUser(div, item)
{
div.append("<br/>" + "UserName: " + item.PostedByName + "<br/>" + "Pic: " + item.PostedByAvatar);
// I am stuck here on how to append image to this div or how to pass item.PostedByAvatar to this img src tag
div.append("<img src= + item. />");
<img src="@Url.Action("GetFileData", "Home", new { id = item.Id })" style="width:100px;height:100px;"/>
}
</script>
我成功地得到的网址是这样的:
/Post/GetFileData?fileId=2
如何解决这个问题???
在GetFileData
操作中,fileId
中的参数名称。但是,当您设置图像源时,您使用的参数名称id
应该是fileId
,如下所示。
@Url.Action("GetFileData", "Home", new { fileId = item.Id })
更新:正如您所说,这应该有效。
div.append('<img class=cssClassName src="' + item.PostedByAvatar +'"/>');
相关文章:
- 加载/调整大小时未切换图像数据标记
- 存储和检索图像数据URL
- 将图像数据设置为输入文件标记
- 是否可以创建一个画布来提取图像数据,而无需实际渲染画布
- 是从画布获取图像数据的任何方法,从远程视频中提取
- jQuery:裁剪以删除图像数据并替换为新数据
- 将图像数据加载到Angularjs中
- 使用从readAsDataURL()返回的图像数据
- EXIF图像数据可以使用JSSOR在页面上显示吗
- 获取当前图像数据Flexslider
- 将base64图像数据作为src分配给图像时,Firefox和Chrome上的结果不一致
- 原始图像数据显示
- 在画布上拖动和绘制时传输图像数据
- Selenium网络驱动程序:如何使用JavaScripts获取嵌入式图像数据
- 通过REST API上的GET请求发送图像数据
- 是否可以使用图像数据设置画架命中区域
- 获取图像数据跨源错误
- 如何使用Javascript从网页中获取图像数据
- 严格模式下的图像数据数据分配
- HTMLUnit是否包括一个功能性的[HTML5]画布2D实现,能够将图像数据渲染回Java代码