当前位置: 移动技术网 > IT编程>开发语言>.net > c#根据路径(url)下载图片

c#根据路径(url)下载图片

2019年04月20日  | 移动技术网IT编程  | 我要评论

武林琴箫录,雄县租房网,赵仕瑾


方法一:根据路径下载图片

1 /// <summary> 2 /// 图片另存为 3 /// </summary> 4 /// <param name="url">路径</param> 5 public void imgsave(string url) 6 { 7   //http://203.156.245.58/sipgl/index.jsp 8   url = "http://203.156.245.58/sipgl/login/img"; 9   webrequest imgrequest = webrequest.create(url); 10 11   httpwebresponse res; 12   try 13   { 14     res = (httpwebresponse)imgrequest.getresponse(); 15   } 16     catch (webexception ex) 17   { 18 19   res = (httpwebresponse)ex.response; 20   } 21 22   if (res.statuscode.tostring() == "ok") 23   { 24     system.drawing.image downimage = system.drawing.image.fromstream(imgrequest.getresponse().getresponsestream()); 25 26     string deerory = string.format(@"d:\img\{0}\", datetime.now.tostring("yyyy-mm-dd")); 27 28     string filename = string.format("{0}.png", datetime.now.tostring("hhmmssffff")); 29 30 31   if (!system.io.directory.exists(deerory)) 32   { 33     system.io.directory.createdirectory(deerory); 34   } 35     downimage.save(deerory + filename); 36     downimage.dispose(); 37   } 38 39 } 40 41

 

 

 

方法二:根据路径下载图片 

 

 1      /// <summary>
 2         /// 下载图片
 3         /// </summary>
 4         /// <param name="picurl">图片http地址</param>
 5         /// <param name="savepath">保存路径</param>
 6         /// <param name="timeout">request最大请求时间,如果为-1则无限制</param>
 7         /// <returns></returns>
 8         public  bool downloadpicture(string picurl, string savepath, int timeout)
 9         {
10             picurl = "http://203.156.245.58/sipgl/login/img";
11             savepath = "d:/img/"+datetime.now.tostring("hhmmssffff")+".jpg";
12             bool value = false;
13             webresponse response = null;
14             stream stream = null;
15             try
16             {
17                 httpwebrequest request = (httpwebrequest)webrequest.create(picurl);
18                 if (timeout != -1) request.timeout = timeout;
19                 response = request.getresponse();
20                 stream = response.getresponsestream();
21                 if (!response.contenttype.tolower().startswith("text/"))
22                     value = savebinaryfile(response, savepath);
23             }
24             finally
25             {
26                 if (stream != null) stream.close();
27                 if (response != null) response.close();
28             }
29             return value;
30         }
31         private static bool savebinaryfile(webresponse response, string savepath)
32         {
33             bool value = false;
34             byte[] buffer = new byte[1024];
35             stream outstream = null;
36             stream instream = null;
37             try
38             {
39                 if (file.exists(savepath)) file.delete(savepath);
40                 outstream = system.io.file.create(savepath);
41                 instream = response.getresponsestream();
42                 int l;
43                 do
44                 {
45                     l = instream.read(buffer, 0, buffer.length);
46                     if (l > 0) outstream.write(buffer, 0, l);
47                 } while (l > 0);
48                 value = true;
49             }
50             finally
51             {
52                 if (outstream != null) outstream.close();
53                 if (instream != null) instream.close();
54             }
55             return value;
56         }

 

 

方法三  根据路径下载图片

 

 1     public image getimage(string url,out string imagestrcookie)
 2         {
 3            
 4             httpwebrequest request = (httpwebrequest)webrequest.create("http://203.156.245.58/sipgl/login/img");
 5             request.method = "get";
 6             webresponse response = request.getresponse();
 7             imagestrcookie = "";
 8             if (response.headers.haskeys()&&null !=response.headers["set-cookie"])
 9             {
10                 imagestrcookie= response.headers.get("set-cookie");
11             }
12             return image.fromstream(response.getresponsestream());
13             
14         }

 


 


 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网