공학속으로/C#

[c#] 이미지 다운로드

더월드 2020. 4. 3.

다운로드할 URL과 다운로드할 파일명을 입력하여 해당 사이트에서 다운로드 하는 함수를 만들어 적용하였습니다.

소스 코드를 보시면 쉽게 할 수 있을 것입니다.

 

사용방법

String url = "https://t1.daumcdn.net/daumtop_deco/images/top/2017/logo_foot.gif";

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

if (!DownloadRemoteImageFile(url, fileName))
{
    MessageBox.Show("Download Failed: " + url);
}

 

함수

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;
    }
}

 

댓글

💲 추천 글