从返回类型为ActionResult的方法中获取图像

本文关键字:获取 图像 方法 返回类型 ActionResult | 更新日期: 2023-09-27 18:11:00

我正在一个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");
}

从返回类型为ActionResult的方法中获取图像

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; 
}