求下载文件方法

解决方案 »

  1.   

     public   static   bool   DownLoadFile(string   fileName) 
                    { 
                            bool   _result   =   false; 
                            string   downloadUrl   =   GetDownloadPath()   +   fileName; 
                            fileName   =   Directory.GetCurrentDirectory()   +   fileName;                         Stream   responseStream   =   null; 
                            FileStream   fileStream   =   null; 
                            StreamReader   reader   =   null; 
                            try 
                            { 
                                    FtpWebRequest   downloadRequest   = 
                                            (FtpWebRequest)WebRequest.Create(downloadUrl); 
                                    downloadRequest.Credentials   =   new   NetworkCredential(GetFtpUser(),   GetFtpPassword()); 
                                    downloadRequest.Method   =   WebRequestMethods.Ftp.DownloadFile; 
                                    downloadRequest.Proxy   =   null; 
                                    downloadRequest.KeepAlive   =   false; 
                                    FtpWebResponse   downloadResponse   = 
                                            (FtpWebResponse)downloadRequest.GetResponse(); 
                                    responseStream   =   downloadResponse.GetResponseStream(); 
                                    if   (fileName.Length   ==   0) 
                                    { 
                                            reader   =   new   StreamReader(responseStream); 
                                    } 
                                    else 
                                    { 
                                            fileStream   =   File.Create(fileName); 
                                            byte[]   buffer   =   new   byte[1024]; 
                                            int   bytesRead; 
                                            while   (true) 
                                            { 
                                                    bytesRead   =   responseStream.Read(buffer,   0,   buffer.Length); 
                                                    if   (bytesRead   ==   0) 
                                                            break; 
                                                    fileStream.Write(buffer,   0,   bytesRead); 
                                            } 
                                    } 
                                    _result   =   true; 
                            } 
                            catch   (UriFormatException   ex) 
                            { 
                                    WriteLog("0",   ex.Message,   fileName); 
                            } 
                            catch   (WebException   ex) 
                            { 
                                    WriteLog("0",   ex.Message,   fileName); 
                            } 
                            catch   (IOException   ex) 
                            { 
                                    WriteLog("0",   ex.Message,   fileName); 
                            } 
                            finally 
                            { 
                                    if   (reader   !=   null) 
                                            reader.Close(); 
                                    else   if   (responseStream   !=   null) 
                                            responseStream.Close(); 
                                    if   (fileStream   !=   null) 
                                            fileStream.Close(); 
                            }                         return   _result; 
                    }