我的图像存储格式是文件 - > byte[]
- > string base64
- > varbinary(max)
。
我的图片检索格式为varbinary(max)
- > byte[]
- >然后是图像格式。
但我无法显示图像。
请帮助检索图像格式。
答案 0 :(得分:3)
你的影像是什么类型的?
也许你需要一个方法Controller.File(fileContents: yourByteArray, contentType: "image/jpeg")
例如:
// Represent a image.
public class MyImage
{
public ID { get; set; }
public byte[] Data { get; set; }
public string MimeType { get; set; }
}
上传图片:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
if (file != null)
{
var image = new MyImage()
{
MimeType = file.ContentType,
Data = new byte[file.ContentLength]
}
file.InputStream.Read(image.Data, 0, file.ContentLength);
}
repository.SaveImage(image);
return RedirectToAction("Index");
}
else
{
return View(product);
}
}
获取图片:
public FileContentResult GetImage(int imageID)
{
var image = repository.Images.FirstOrDefault(p => p.ID == imageID);
if (image != null)
{
return File(image.Data, image.MimeType);
}
else
return null;
}
查看:显示图片
@model YourApp.Entities.MyImage
<div class="item">
<img src="@Url.Action("GetImage", "YourController",
new { Model.ID })" />
</div>