참고: downloadFile 메서드 내에서 대신 클래스의 리스너를 추가하는 것이 더 쉬우므로 전역 범위에 있는 클라이언트가 cancelDownload 및 downloadFile 메서드에서 사용할 수 있도록 노출됩니다. 스니펫을 테스트하려면 메서드를 단추 쌍의 작업으로 추가하기만 하면 됩니다. 또한 WebClient 클래스에서 DownloadFileAsync 메서드를 사용할 수 있습니다. 지정된 URI를 사용하여 리소스를 로컬 파일에 다운로드합니다. 또한이 메서드는 호출 스레드를 차단 하지 않습니다. 이 경우 WebClient.DownloadFileAsync 메서드를 사용 하려고 여기 이와 함께 WebClient를 사용 하 여, 당신은 당신의 sharePoint 컨텍스트를 느슨하게 하 고 그래서 당신의 sharePoint를 사용 하 여 이미지를 다운로드 하려는 경우 연결 되지 않습니다: byte[] 바이트 = wc. 다운로드데이터(사이트URL + 파일URL); OpenBinaryStream과 같은 SPFile 개체의 메서드를 사용하여 스트림에서 파일의 바이트를 가져옵니다. 이전 예제에서는 DownloadFile 메서드의 작동 방식을 이해해야 합니다. 그러나 메서드를 구현 하 고 구체화 하는 방법에 따라 달라 집니다.

또한 DownloadProgressChanged 이벤트에서 파일 크기(바이트)에서 보류 중인 바이트의 합계를 표시할 수 있습니다. 파이어 폭스는 당신에게 선택을 제공하는이 좋은 대화 상자가 있습니다. Internet Explorer는 파일을 저장할지 여부를 묻는 노란색 하단 표시줄을 표시합니다. 크롬 – 옵션에 따라 – 단순히 아무것도 프롬프트없이 다운로드 폴더에 파일을 다운로드합니다. 이 예제에서는 모든 웹 사이트에서 로컬 디스크로 파일을 다운로드하는 방법을 보여 줍니다. 파일을 다운로드하는 방법은 WebClient 클래스와 그 방법 DownloadFile을 사용하는 것입니다. 이 메서드에는 두 개의 매개 변수가 있으며, 먼저 다운로드할 파일의 URL이고 두 번째 매개 변수는 파일을 저장할 로컬 디스크에 대한 경로입니다. 메인 스레드를 차단하지 않고 파일을 다운로드하려면 비동기 방법을 사용 DownloadFileAsync.

이벤트 처리기를 설정하여 진행률을 표시하고 파일이 다운로드되는 것을 감지할 수도 있습니다. 파일 다운로드가 취소되었는지 확인하려면 DownloadFileCompleted 콜백을 추가하고 이벤트를 확인합니다. 비동기 예제에 표시된 대로 취소된 값입니다. 이 코드를 사용하여 웹사이트에서 데스크톱으로 파일을 다운로드할 수 있습니다: 참고: 비동기 메서드를 사용하지만 잠시 동안 주 스레드를 차단할 수 있습니다. 비동기 다운로드 자체가 DNS 이름(이 경우 “mysite.com”)을 확인하고 이 검사는 내부적으로 차단 기능을 통해 수행되기 때문입니다.