LORD Asked:2020-04-28 17:46:41 +0000 UTC2020-04-28 17:46:41 +0000 UTC 2020-04-28 17:46:41 +0000 UTC 如何在 img 视图中显示来自 byte[] 的图像 772 如何在视图()中显示图片(字节数组<img>)? 假设有一个控制器,在其中我从数据库中获取一个字节图片数组。如何在视图中显示这些图片。我很想听听所有可能的选择。 c# 2 个回答 Voted Best Answer A K 2020-04-28T18:04:27Z2020-04-28T18:04:27Z Vitaly 的版本正在运行,但我建议不要乱用 base64 编码——而是立即给出图片: [HttpGet] public async Task<IActionResult> Get() { var image = System.IO.File.OpenRead("C:\\images\\myImage.jpeg"); // Или из базы, но я предпочитаю не грузить в БД картинки return File(image, "image/jpeg"); } 并将此 url 用作图片的常用 src - 使用 Url.Action 或您拥有的任何版本的 mvc。 <img src='@Url.Action(actionaname","controller")'> 实际上,这当然是带有图像 id 参数或其名称的操作。 方法没有太大区别,只是在 base64 中,流量将比传输字节序列时高约 30%。您的图像流量有多重要 - 请自行决定。 相关链接: 在 ASP.NET MVC 5 中发送文件 从 Asp.Net Core WebAPI 返回 jpeg 图像 Виталий Шебаниц 2020-04-28T17:56:08Z2020-04-28T17:56:08Z using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace DemoProject.Controllers { public class DemoController : Controller { // GET: Demo/GetImageFromByteArray public ActionResult GetImageFromByteArray() { // Конвертируем string imreBase64Data = Convert.ToBase64String(byteData); string imgDataURL = string.Format("data:image/png;base64,{0}", imreBase64Data); //Передаем во вью ViewBag.ImageData = imgDataURL; return View(); } } } @{ ViewBag.Title = "Asp.Net MVC Display image from byte array"; } <h2>Asp.Net MVC Display image from byte array</h2> <img src="@ViewBag.ImageData">
Vitaly 的版本正在运行,但我建议不要乱用 base64 编码——而是立即给出图片:
并将此 url 用作图片的常用 src - 使用 Url.Action 或您拥有的任何版本的 mvc。
实际上,这当然是带有图像 id 参数或其名称的操作。
方法没有太大区别,只是在 base64 中,流量将比传输字节序列时高约 30%。您的图像流量有多重要 - 请自行决定。
相关链接: