【发布时间】:2018-12-07 18:50:03
【问题描述】:
我无法使用其他类似问题的答案来解决这个问题,也许这种情况有所不同。
我正在尝试使用 asp.net 和 mvc 将字节数组转换为图像。
这是我的看法:
<div class="carousel-item">
<img class="d-block w-100" src="@Url.Action( "Show", "Home", new { id = i.ProductID })" alt="@i.ProductName">
</div>
这是我的控制器中的 Show 方法:
public ActionResult Show(int id)
{
IQueryable<Product> products = from p in db.Products
where id == p.ProductID
select p;
var imageData = products.First().Picture;
return File(imageData, "image/jpg");
}
如果有人能提示我在这里做错了什么,那就太好了。
编辑 我已尝试将字节数组转换为 base64 字符串,作为“可能重复”问题的答案,但这并没有呈现为图像。
【问题讨论】:
-
@NirmalSubedi byte[]
-
您想将图像转换为 base64 字符串。 stackoverflow.com/q/17952514/2030565.
-
如果 OP 在 AJAX 请求中请求文件,则只需要进行 base64 编码。 MVC 动作可以返回包含图像、未编码且可从图像标签中使用的字节流。
-
其他链接中的那些答案实际上并没有帮助。
-
测试如下:将site/Home/Show/<id>放在浏览器地址栏中,然后使用Chrome开发工具之类的工具查看响应中是否确实获得了有效的JPG文件。我怀疑原始数据不是真正的二进制文件或不是有效的 JPG。
标签: c# asp.net asp.net-mvc