从URL保存GIF
问题描述:
我想保存从互联网地址驱动的GIF。 当我从浏览器请求的文件,我收到这些字符:从URL保存GIF
GIF87a½€ÿÿÿ,½þ„©Ëí£œ´Ú‹³Þ¼û†âH–æ‰Ádk
ÇòòµuÏú>æùôãEX¯–Ѝ²µ‚‰"<}O)Ò¨¬:kÜ'Õª]þ¢`ìc
Ú”ìvöhe;Ï]¸;oßÂyþ|Þ‡µe§'hÄÔdhW÷§H#&gö¨ð…G™Gy(‰ x÷j†øyÙˆI8uJZZiª
™ªÚº¹i {ç‰Zj™ˆwšµ7
©;é›9Æy¤VÄ$ú;œË›ÙÛI¬,œ=}|,l¼Û˧¸ìæ%]h~n»8»ÌíIv—Fe6¿‹¸®0YÉ
J7k8”•pÕá C¬4Èráâ;zü2¤È‘$Kš
我可以检索这些字符GIF格式?
答
谢谢您的回答。 我尝试了一种方法,发现问题
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Accept = "text/html, text/plain";
request.AllowAutoRedirect = true;
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
Bitmap bmp = new Bitmap(Image.FromStream(stream, true, false));
bmp.Save("image.gif");
答
GIF是一个二进制文件。你不应该把它看作一个字符串。将GIF读入byte[]
,然后将这些字节保存到文件中。
答
只是这样做:
string url = "http://address.com/getFile?s=1234";
string filePath = @"c:\MyFolder\file.gif";
using (WebClient client = new WebClient())
{
client.DownloadFile(url, filePath);
}
,不要忘了在开始补充一点:
using System.Net;
您正在将二进制信息打印为文本。 – 2012-07-13 16:54:54
您必须以二进制形式接收它。这只是二进制数据的文本表示,你不能使用gif。 – 2012-07-13 16:54:59