
#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년 이상 개발로 살다보니 개발 잘한다는 것은 로직을 잘 짜는거는 당연하고 레퍼런스를 얼마나 가지고 있고 빠르게 찾고 활용할 수 있느냐라고 생각해요. 이런 로직들 하나하나 저장해놓으셨다가 필요하실 때 꺼내 쓰시길 바래요.
마지막으로, 부디 불법적인 곳에는 사용하지 말아주시길!
이만, 배곧동개발자 였습니다.