Pobieranie plików przez HttpWebRequest

0

Piszę właśnie klienta poczty dla konta pocztowego Walla. Walla nie dysponuje smtp i pop3, muszę więc wszystko pisać przez HttpWebRequest i HttpWebResponce.
Program prawie gotowy-oprócz możliwości ściągania załączników z danego konta.
Zbudowałem sobie taką metodą:

        private void Download()
        {
            string remoteFilename; // Adres pliku na serwerze
            String localFilename; // Gdzie ma być zapisany plik, np: @"C:\folder\plik.jpg"
            int bytesProcessed = 0;
            Stream remoteStream = null;
            Stream localStream = null;
            WebResponse response = null;
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(remoteFilename);
                request.CookieContainer = new CookieContainer(); 
                request.CookieContainer.Add(cookies); // Pobieramy cookies ze zmiennej cookies
                if (request != null)
                {
                    response = request.GetResponse();
                    if (response != null)
                    {
                        remoteStream = response.GetResponseStream();
                        localStream = File.Create(localFilename);
                        byte[] buffer = new byte[1024];
                        int bytesRead;
                        do
                        {
                            bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
                            localStream.Write (buffer, 0, bytesRead);
                            bytesProcessed += bytesRead;
                        } while (bytesRead > 0);
                    }
                }
            }
            catch
            {
                MessageBox.Show("Błąd!");
            }
            finally
            {
                 if (response     != null) response.Close();
                 if (remoteStream != null) remoteStream.Close();
                 if (localStream  != null) localStream.Close();
            }
        }

Niby pliki pobiera, ale:
-ściągany plik .jpg ma inną wielkość niż orginalny plik, ściągany plik jest mniejszy (ta różnica jest naprawdę mała, plik 1: 16, 4 KB a plik 2: 16, 5 KB .Uwaga: mimo, że wielkości tych plików są różne, oba zdjęcia są jednakowe pod względem obrazu
-masakra jest dopiero w plikach doc i innych:
Plik origalny .doc zawiera 2 jakieś tam wyrazy, natomiast plik ściągnięty po otworzeniu wygląda tak:
http://img515.imageshack.us/img515/507/plik2un.jpg
Z innymi plikami jest podobnie(rar, exe, dll, i inne)
Nie wiem jak sobie z tym poradzić, macie jakieś pomysły?

0

Sam sobie odpowiem ;-)
Wystarczy dodać następującą linijkę i wszystko bęzie działać:]
request.AutomaticDecompression = DecompressionMethods.GZip;

1 użytkowników online, w tym zalogowanych: 0, gości: 1