URL에서 이미지를 얻는 코드는 인터넷에서 일반적으로 대부분의 형식인 .NET Framework가 지원하는 이미지 형식에 대해 작동합니다. 이 코드 샘플에서는 웹 사이트 URL에서 이미지를 다운로드하고 웹 서버에 저장하는 방법을 보여 줍니다. 이 예제에서는 .NET 클래스 System.Net.HttpWebRequest를 사용하여 컴퓨터에 저장할 이미지 스트림을 다운로드합니다. 이 샘플의 목적으로 C# 구문을 사용하고 있지만, URL에서 이미지를 다운로드하기 위해 VB.NET.Function을 포함한 다른 .NET 언어로 쉽게 변환할 수 있습니다당신은 웹의 특정 URL에서 이미지를 검색하는 다음 방법을 사용할 수 있습니다:public System.Drawing.ImageImageImageFromUrl(문자열 imageUrl){System.Drawing.Image Image = null; try { System.Net.HttpWebRequest 웹 요청 = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(imageUrl); webRequest.AllowWriteStream버퍼링 = true; webRequest.Timeout = 30000; System.Net.WebResponse 웹응답 = 웹Request.GetResponse(); System.IO.Stream 스트림 = 웹응답.GetResponseStream(); 이미지 = System.Drawing.Image.FromStream(스트림); webResponse.Close(); } 캐치 (예외 ex) { 반환 null; } 반환 이미지;} 위의 C# 함수는 이미지 URL을 가져와 URL에서 스트림으로 이미지를 다운로드하고 이미지 개체를 반환합니다. 이미지를 다운로드할 수 없는 경우 null을 반환합니다. 이미지를 다운로드하는 방법을 호출하는 방법? 다음 코드는 이미지를 다운로드하는 위의 함수를 호출하는 방법을 보여줍니다:보호 된 보이드 btnSave_Click (개체 보낸 자, EventArgs e){ System.Drawing.Image = DownloadImageFromUrl (txtUrl.Text.Trim()); 문자열 루트 패스 = @”C:DownloadImageFromUrl”; 문자열 파일 이름 = System.IO.Path.Combine(rootPath, “test.gif”); 저장(파일 이름);} 참고 : 위의 샘플에서 하드 코딩 된 폴더 이름과 하드 코딩 된 이미지 이름을 사용했습니다. 이미지 의 유형을 감지하고 충돌을 피하기 위해 폴더의 고유 한 이름으로 저장하려면 현명해야합니다. 코드 샘플 System.Drawing.Image 개체에서 파일 확장자 찾기를 읽고 이미지 개체에서 파일 확장문을 얻는 방법을 찾습니다. 파일 확장자 얻기의 첫 번째 부분은 URI에서 필요한 모든 부분을 제거하는 것입니다. UriPartial.Path에서 Uri.GetLeftPart()를 사용하여 계획에서 경로까지 모든 것을 가져옵니다.
즉, https://www.example.com/image.png?query&with.dots https://www.example.com/image.png 된다. 이러한 방법은 다운로드 스트링 (..) 및 다운로드 스트링Async (…)와 거의 동일합니다. 그들은 C # 문자열이 아닌 디렉토리에 파일을 저장하고 URi 참고에 형식 확장자의 필요가 없습니다 : 인수예외는 다운로드 한 콘텐츠가 알려진 이미지 유형이 아닌 경우 Image.FromStream에 의해 throw 될 수 있습니다.