Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > докачка файлов с инета


Автор: Skalik 14.1.2009, 00:28
Качаю файл с инета, код:
Код

using (WebClient wcDownload = new WebClient())
            {
                try
                {
                    webRequest = (HttpWebRequest)WebRequest.Create(url);

                    webRequest.Credentials = CredentialCache.DefaultCredentials;

                    webResponse = (HttpWebResponse)webRequest.GetResponse();

                    fileSize = webResponse.ContentLength;

                    strResponse = wcDownload.OpenRead(url);

                    strLocal = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);

                    int bytesSize = 0;

                    byte[] downBuffer = new byte[2048];


                    while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
                    {
                        strLocal.Write(downBuffer, 0, bytesSize);
                      
                       
                    }
                    
                }
                catch (Exception ex)
                {
                   System.Windows.Forms.MessageBox.Show(ex.Message);
                }
                finally
                {
                   
                    strResponse.Close();
                    strLocal.Close();
                    webResponse.Close();
                }
            }


Хочу реализовать докачку файла,желателно несколькими потоками по частям. Возможно ли это через WebClient?
Предложите свои варианты...

Автор: QryStaL 14.1.2009, 10:32
Skalik, зачем вам WebClient, если уже используете HttpWebRequest и HttpWebResponse ? Чтобы скачать файл, используйте WebResponse.GetResponseStream(), для докачки будет полезен метод HttpWebRequest.AddRange()

Автор: Skalik 18.1.2009, 16:51
Попробовал HttpWebRequest.AddRange(), работает,но только для небольших файлов. У него в параметрах int offset,int to
Как организовать докачку больших файлов?

Автор: QryStaL 18.1.2009, 17:42
http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/137f5e22-d30e-4666-b0fc-bb4dd7f5a84d/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)