我正在开发一个Web Api项目,并且我从MVC项目中的控制器获取图像。返回类型为ActionResult
。 Web Api中的方法GetImage具有HttpResponseMessage
作为返回类型:
public HttpResponseMessage GetImage()
{
var result = new HttpResponseMessage(HttpStatusCode.OK);
ActionResult image = GetProductImage();
// ? result.Content = image;
result.Content.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
return result;
}
有没有办法将ActionResult中的图像放入HttpResponseMessage? 另一个控制器中的代码如下所示(简化):
public ActionResult GetProductImage()
{
byte[] bytes = GetImageFromDisk(fullImagePath);
return File(bytes, "image/jpeg");
}
感谢您的帮助。
答案 0 :(得分:0)
public HttpResponseMessage Image(int pIndice)
{
var response = new HttpResponseMessage(HttpStatusCode.OK);
using (var binaryReader = new BinaryReader(requestFile[pIndice].InputStream))
{
response.Content = new ByteArrayContent(binaryReader.ReadBytes(requestFile[pIndice].ContentLength));
response.Content.Headers.ContentType = new MediaTypeHeaderValue(requestFile[pIndice].ContentType ?? "image/jpeg");
}
return response;
}