Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.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# 显示来自WebRequest的图像_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 显示来自WebRequest的图像

C# 显示来自WebRequest的图像,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我通过POST发出WebRequest,从谷歌图表中获取图像 我遇到的问题是显示Google返回的图像 我可以在Fiddler中看到对图像的请求已发出,并且当我执行以下操作时,图像在响应中返回: var response = request.GetResponse(); 然而,从这里我似乎无法从我的控制器输出图像 以下是我现在正在做的: using (var dataStream = response.GetResponseStream()) {

我通过
POST
发出
WebRequest
,从谷歌图表中获取图像

我遇到的问题是显示Google返回的图像

我可以在Fiddler中看到对图像的请求已发出,并且当我执行以下操作时,图像在响应中返回:

var response = request.GetResponse();
然而,从这里我似乎无法从我的控制器输出图像

以下是我现在正在做的:

using (var dataStream = response.GetResponseStream())
            {
                if (dataStream == null) return;

                using (var reader = new StreamReader(dataStream))
                {
                    byte[] dataBytes = Encoding.UTF8.GetBytes(reader.ReadToEnd());
                    Response.ContentType = "image/png";
                    Response.BinaryWrite(dataBytes);
                }
            }
“我的浏览器”窗口中显示的错误消息为:

无法显示图像“[图像路径]”,因为它包含 错误

尝试使用,它将简化您的代码:

public ActionResult MyChart()
{
    using (var client = new WebClient())
    {
        var data = client.DownloadData("http://......");

        // TODO: the MIME type might need adjustment
        return File(data, "image/png", "chart.png"); 
    }
}
或者,如果需要使用POST请求并发送一些值,请使用以下方法:

然后在视图中:

<img src="@Url.Action("MyChart", "SomeController")" alt="chart" />

或者,如果url是静态的,并且可以通过GET请求访问,则可以直接将其包含在视图中(在这种情况下,不需要控制器操作):



谢谢你,达林。我应该提到的是,我这样做是作为一个POST请求,因为大量的数据被传递到谷歌。下载数据通过Http Post工作吗?@Jamie Dixon,请查看我的更新和
UploadValues
方法的使用。
<img src="@Url.Action("MyChart", "SomeController")" alt="chart" />
<img src="http://......" alt="chart" />