티스토리 뷰


    private bool DownloadRemoteImageFile(string uri, string fileName)  

    {  

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);  

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();  

        bool bImage = response.ContentType.StartsWith("image",   

            StringComparison.OrdinalIgnoreCase);  

        if ((response.StatusCode == HttpStatusCode.OK ||  

            response.StatusCode == HttpStatusCode.Moved ||  

            response.StatusCode == HttpStatusCode.Redirect) &&  

            bImage)  

        {  

            using (Stream inputStream = response.GetResponseStream())  

            using (Stream outputStream = File.OpenWrite(fileName))  

            {  

                byte[] buffer = new byte[4096];  

                int bytesRead;  

                do  

                {  

                    bytesRead = inputStream.Read(buffer, 0, buffer.Length);  

                    outputStream.Write(buffer, 0, bytesRead);  

                } while (bytesRead != 0);  

            }  

      

            return true;  

        }  

        else  

        {  

            return false;  

        }  

    }   


사용방법


    String url = "http://www.there.net/img.png";  

    String fileName = "d:/a.png";  

    if (!DownloadRemoteImageFile(url, fileName))  

    {  

        MessageBox.Show("Download Failed: " + url);  

    }