1

インターネット アドレスから駆動される 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 形式を取得できますか?

4

4 に答える 4

8

GIF はバイナリ ファイルです。文字列として読んではいけません。GIF を に読み取り、byte[]それらのバイトをファイルに保存します。

于 2012-07-13T16:55:24.327 に答える
4

これを行うだけです:

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-13T17:01:30.187 に答える
1

回答ありがとうございます。方法を試してみたところ、問題が見つかりました

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");
于 2012-07-14T06:53:02.443 に答える
0

ファイル形式と Web について私が知っていることから判断すると、文字は ASCII またはバイナリの別のエンコーディングで表現されています。BinaryWriter.Write() Methodを使用して保存できる場合があります。

于 2012-07-13T16:56:48.680 に答える