介绍使用C#发送HTTP请求,获取图片的两种方法。一种是从响应流直接创建Image,另一种是将流保存到图片文件。2C#发送HTTP请求入门
工具/原料
Visual Studio 2015(C#)
从响应流创建Image对象
1
进入正题。我们按步骤编写这个获取图片的函数GetPic,对其中的代码予以说明,并给一些注意事项。首先,定义返回类型Image,参数为url链接string的函数:GetPic。
2
然后,创建HTTP请求如图。注意类型是HttpWebRequest,否则无法设置其Http参数。如图只是简单设置了Method为GET,更多参数的设置详见开篇处经验引用。接着使用GetResponse()方法获取响应,注意as HttpWebResponse不能省。
3
接下来,使用响应的GetResponseStream获取响应流。接着使用Image.FromStream从响应流创建Image对象。然后关闭响应流,返回图片。
5
接着,我们可以使用这个Image对象的Save(文件名)成员函数保存到文件。
下载图片文件
1
使用如图代码,编写了一个DownloadFile函数,输入参数为一个url链接和一个文件名。
2
调用该函数,直接将响应流的内容下载到了本地文件。具体使用该方法时,文件后缀需要自己根据响应的信息来判断。
注意事项
如果只是要获取Image对象,推荐第一种方法,减少不必要的文件读写,可以显著提高速度。