Asp.net mvc 3 在mvc 3中以字节形式返回图像列表
我试图返回一个以字节形式显示在视图上的图像列表。 我知道如何通过将其放入控制器来返回单个图像Asp.net mvc 3 在mvc 3中以字节形式返回图像列表,asp.net-mvc-3,image,razor,Asp.net Mvc 3,Image,Razor,我试图返回一个以字节形式显示在视图上的图像列表。 我知道如何通过将其放入控制器来返回单个图像 public FileContentResult DisplayImages(string packageID) { byte[] byteArray = imageConverter.GetImageAsBytes( "\\filepath-to-image.jpeg"); return new FileConten
public FileContentResult DisplayImages(string packageID)
{
byte[] byteArray = imageConverter.GetImageAsBytes(
"\\filepath-to-image.jpeg");
return new FileContentResult(byteArray, "image/jpeg"
}
如何修改它以返回字节[]的列表,然后在视图中相应地调用它
谢谢我假设您将从javascript调用此操作。 在本例中,您可以使用Json actionresult类型来执行此操作
public ActionResult DisplayImages(string packageID)
{
byte[] byteArray = imageConverter.GetImageAsBytes(@"\filepath-to-image.jpeg");
return Json(new { imageList = new List<Byte[]>() { byteArray } });
}
public ActionResult显示图像(字符串packageID)
{
byte[]byteArray=imageConverter.GetImageAsBytes(@“\filepath to image.jpeg”);
返回Json(new{imageList=new List(){byteArray}});
}
您将获得一个具有imageList属性的对象,该属性将是字节数组。我假设您将从javascript调用此操作。 在本例中,您可以使用Json actionresult类型来执行此操作
public ActionResult DisplayImages(string packageID)
{
byte[] byteArray = imageConverter.GetImageAsBytes(@"\filepath-to-image.jpeg");
return Json(new { imageList = new List<Byte[]>() { byteArray } });
}
public ActionResult显示图像(字符串packageID)
{
byte[]byteArray=imageConverter.GetImageAsBytes(@“\filepath to image.jpeg”);
返回Json(new{imageList=new List(){byteArray}});
}
您将获得一个具有imageList属性的对象,该属性将是字节数组。感谢您的回复。是的,我通过javascript调用控制器函数。调用时是否必须在视图中指定内容类型?我当前仅使用渲染图像。我不知道如何处理返回为JSONY的数组字节列表。除非您执行某种CSS精灵(将其组合到单个图像)、执行多个请求,或者使用HTML5画布或其他方式执行一些二进制操作,否则您将无法在单个请求中执行图像列表,因此可能需要探索不同的路径。多个请求可能是最简单的。多个请求实际上不是一个选项,因为我是基于packageID查询数据库的,packageID返回0或多个图像。在这种情况下,完成任务要困难得多。据我所知,你不能只凭一个请求就这么做。您可以将其分为两个不同的请求,一个请求将二进制文件从数据库提取到用户会话/webserver缓存中,并返回标识符和提取的图像数,另一个请求将标识符和数字作为参数并输出相应的图像数据。感谢回复。是的,我通过javascript调用控制器函数。调用时是否必须在视图中指定内容类型?我当前仅使用渲染图像。我不知道如何处理返回为JSONY的数组字节列表。除非您执行某种CSS精灵(将其组合到单个图像)、执行多个请求,或者使用HTML5画布或其他方式执行一些二进制操作,否则您将无法在单个请求中执行图像列表,因此可能需要探索不同的路径。多个请求可能是最简单的。多个请求实际上不是一个选项,因为我是基于packageID查询数据库的,packageID返回0或多个图像。在这种情况下,完成任务要困难得多。据我所知,你不能只凭一个请求就这么做。您可以将其分为两个不同的请求,一个请求将二进制文件从数据库提取到用户会话/webserver缓存中,并返回标识符和提取的图像数,另一个请求将标识符和数字作为参数,并输出相应的图像数据。