首页 新闻 会员 周边

文件名,后缀都不知道的图片地址如何下载?急

0
悬赏园豆:40 [已解决问题] 解决于 2010-07-12 16:58

我想下载一些google的图片到本地,无奈google的技术太牛,搞了半天也不知道怎么用C#来实现

如原始图片地址:

http://lh4.googleusercontent.com/NFy-95h1MJmRW7ZoFhHa0oDzr6g6NiNQxQuLtkDkNoEhf_KkzhM0o9T3I6FHRdVpszbBBiRCmE8U9Cl4XXYiTFA87X3gMr77TUJemDzh3JDetOaDFvOEPt5g8a193IeC3qUl3-hZP9C0KO5YZCQD7ltrci9JDHrNR0wwBsz2ADk

如何用C#代码如何实现图片下载,并保存到本地?

 

sjh的主页 sjh | 初学一级 | 园豆:10
提问于:2010-07-12 15:18
< >
分享
最佳答案
0

使用  HttpWebRequest 

然后你可以从

Content-Type: image/jpeg
Content-Disposition: inline;filename="unnamed.jpg"

判断图片类型.

1 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://lh4.googleusercontent.com/NFy-95h1MJmRW7ZoFhHa0oDzr6g6NiNQxQuLtkDkNoEhf_KkzhM0o9T3I6FHRdVpszbBBiRCmE8U9Cl4XXYiTFA87X3gMr77TUJemDzh3JDetOaDFvOEPt5g8a193IeC3qUl3-hZP9C0KO5YZCQD7ltrci9JDHrNR0wwBsz2ADk");
2 request.Method = "GET";
3
4 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
5 {
6 string fileName = response.Headers.Get("Content-Disposition");
7 fileName = fileName.Substring(fileName.IndexOf("\"")+1, fileName.LastIndexOf("\"") - fileName.IndexOf("\"")-1);
8  
9 byte[] buf = new byte[response.ContentLength];
10 using (Stream stream = response.GetResponseStream())
11 {
12 stream.Read(buf, 0, buf.Length);
13 }
14
15 using (FileStream fs = File.Open(@"D:\" + fileName, FileMode.Create))
16 {
17 fs.Write(buf, 0, buf.Length);
18 fs.Flush();
19 }
20 }
收获园豆:40
Launcher | 高人七级 |园豆:45045 | 2010-07-12 15:48
谢谢你的回答,在你的帮助下,问题已经解决了,谢谢
sjh | 园豆:10 (初学一级) | 2010-07-12 16:57
其他回答(1)
0

直接用C#下载:http://lh4.googleusercontent.com/NFy-95h1MJmRW7ZoFhHa0oDzr6g6NiNQxQuLtkDkNoEhf_KkzhM0o9T3I6FHRdVpszbBBiRCmE8U9Cl4XXYiTFA87X3gMr77TUJemDzh3JDetOaDFvOEPt5g8a193IeC3qUl3-hZP9C0KO5YZCQD7ltrci9JDHrNR0wwBsz2ADk

就行了,这个链接输出的就是一张图片...就是绝对地址。

Astar | 园豆:40805 (高人七级) | 2010-07-12 15:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册