首页 / C# / c#-从WebRequest显示图像
c#-从WebRequest显示图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-从WebRequest显示图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1495字,纯文字阅读大概需要3分钟。
内容图文
![c#-从WebRequest显示图像](/upload/InfoBanner/zyjiaocheng/654/01aa9f7b72f648eebde6ec10f8e30dea.jpg)
我正在通过POST发出WebRequest,从Google Charts获取图像.
我遇到的问题是显示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);
}
}
我的浏览器窗口中显示的错误消息是:
The image “[path to image]” cannot be displayed, because it contains
errors.
解决方法:
尝试使用WebClient,它将简化您的代码:
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请求并发送一些值,请使用UploadValues方法:
public ActionResult MyChart()
{
using (var client = new WebClient())
{
var request = new NameValueCollection
{
{ "foo", "foo value" },
{ "bar", "bar value" },
};
var data = client.UploadValues("http://......", request);
// TODO: the MIME type might need adjustment
return File(data, "image/png", "chart.png");
}
}
然后在视图中:
<img src="@Url.Action("MyChart", "SomeController")" alt="chart" />
或者,如果url是静态的并且可以通过GET请求访问,则可以将其直接包含在视图中(在这种情况下,您无需执行控制器操作):
<img src="http://......" alt="chart" />
内容总结
以上是互联网集市为您收集整理的c#-从WebRequest显示图像全部内容,希望文章能够帮你解决c#-从WebRequest显示图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。