C#

[C#] URL로 이미지 다운로드

#C# #CSharp #씨샵 #이미지다운로드로직 #라이브러리

안녕하세요, 배곧동개발자 입니다.

인터넷을 하시다가 이미지를 다운받아 보신적 한번은 있으실 겁니다.

보통 이렇게 우클릭 후 다른이름으로 저장을 하셔서 다운 받으셨을거에요! 이렇듯 필요에 따라서 웹페이지에서 이미지를 다운받아야 하는 경우가 더럿 있습니다.


1. 이미지 다운로드 함수

위와 같이 이미지 다운로드를 구현하는 C# 함수를 하나 소개시켜드릴까해요. 물론 제가 직접 짠건 아니고 저도 긁어다 쓰는겁니다.

private bool imageFileDownload(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;
 }
}

로직 옆에 보시면 복사하기 버튼 있습니다. 긁어다가 사용하시면 되요!


2. 함수 사용법

사용방법으로는 첫번째 파라미터에 이미지 url을 넣어주시고 두번째 파라미터에 저장하실 파일명(경로포함)을 넣어주시면 됩니다.

// 첫 파라미터는 이미지 주소(URL), 두번째 파라미터는 파일명(경로포함)
imageFileDownload("http://img.co.kr/img.png","/img/download/img.png");

저렇게만 딱 돌려주시면 파일이 저장되는 모습을 보실겁니다. 아주 많은 곳에 활용 할 수 있어요!


3. 마무리

10년 이상 개발로 살다보니 개발 잘한다는 것은 로직을 잘 짜는거는 당연하고 레퍼런스를 얼마나 가지고 있고 빠르게 찾고 활용할 수 있느냐라고 생각해요. 이런 로직들 하나하나 저장해놓으셨다가 필요하실 때 꺼내 쓰시길 바래요.

마지막으로, 부디 불법적인 곳에는 사용하지 말아주시길!

이만, 배곧동개발자 였습니다.

배곧동개발자

Recent Posts

[세븐나이츠 리버스] 쫄작 가이드 (기초편)

#세븐나이츠리버스 #쫄작 #가이드 #꿀팁 #제이브 그 옛날, 세나를 해보신 분들이라면 모를 수 없으나 이제 세븐나이츠…

3주 ago

[세븐나이츠 리버스] 최신 쿠폰 공유! 쿠폰 입력 방법! (5월15일)

1. 세븐나이츠 리버스 오늘, 2025년 5월 15일에 오픈한 세븐나이츠 리버스! 다들 시작하셨나요? 제이브를 뽑고싶은데 아직…

3주 ago

[CSS] 이미지가 빙빙 돈다? animation spin

#css #spin #animation #spin 1. 이미지가 빙빙돈다! 어? 이게 뭐지? 이미지가 빙빙 돕니다. 나 이거…

1개월 ago

[node.js] npm.ps1 파일을 로드할 수 없습니다

#노드js #nodejs #에러 #오류 #npm 1. npm.ps1 Error node js 를 설치 후 npm을 이용하려…

2개월 ago

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

3개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

3개월 ago