Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从返回类型为ActionResult的方法获取图像_C#_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

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

C# 从返回类型为ActionResult的方法获取图像,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,我在做一个WebAPI项目,我从一个MVC项目的控制器那里得到一个映像。返回类型为ActionResult。Web Api中的方法GetImage将HttpResponseMessage作为返回类型: public HttpResponseMessage GetImage() { var result = new HttpResponseMessage(HttpStatusCode.OK); ActionResult image = GetProductImage();

我在做一个WebAPI项目,我从一个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");
}

谢谢您的帮助。

检查此答案:谢谢您的提示,但我必须从另一个项目调用GetProductImage方法。在图像裁剪、缓存、水印等方面还有很多工作要做。。。。我不想重写一切。真的没有办法从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; 
}