데이터를 다운로드할 문자열로 지정된 URI입니다. PDF 파일을 여는 동안 받은 오류는 „PDF 문서를 로드하지 못했습니다.” FileIO파일파일이름을 작성할 수 있습니다. 관련 열거: 쓰기. >페이지이든 액세스하려는 파일이든 지정된 URL에 연결하면 C# 코드의 세 줄이 사용됩니다: ASP.NET 페이지와 같은 중간 계층 응용 프로그램에서 이 메서드를 사용할 때 응용 프로그램이 실행되는 계정에 파일에 액세스할 수 있는 권한이 없는 경우 오류가 발생합니다. 이 메서드는 RETR 명령을 사용하여 FTP 리소스를 다운로드합니다. HTTP 리소스의 경우 GET 메서드가 사용됩니다. 결과 스트림은 .NET 데스크톱 응용 프로그램의 일반 IO 스트림과 매우 유사합니다. 데이터는 원시 바이트로 다운로드되며 System.IO 네임스페이스의 클래스로 데이터를 올바르게 해석하는 것은 개발자의 역할입니다. 예를 들어 zip 파일을 다운로드하는 경우 스트림이 파일에 직접 기록될 수 있습니다.

반면에 URL이 웹 페이지(예: html 또는 php 페이지)용인 경우 StreamReader를 사용하여 전체 스트림을 문자열로 읽을 수 있습니다. C#.NET 응용 프로그램이 인터넷과 상호 작용하는 것이 점점 더 중요해지고 있습니다. 파일이든 웹 페이지이든 데이터를 다운로드하기 위해 URL에 연결하는 가장 기본적인 작업을 수행하는 방법을 살펴보겠습니다. 이 문서에서는 간단한 HTTP 연결을 다루겠습니다. 파일을 여는 동안 „손상된 파일” 오류가 발생했습니다. 다음 코드 예제는 http://www.contoso.com 로컬 하드 드라이브로 파일을 다운로드합니다. DownloadFile 메서드는 주소 매개 변수에 의해 지정된 URI에서 로컬 파일 데이터에 다운로드합니다. 이 메서드는 리소스를 다운로드하는 동안 차단합니다. 리소스를 다운로드하고 서버의 응답을 기다리는 동안 계속 실행하려면 DownloadFileAsync 방법 중 하나를 사용합니다. HttpWebRequest 개체를 사용하여 컨트롤러 작업 메서드에서 파일로 다운로드할 수 없습니다. 이 멤버는 응용 프로그램에서 네트워크 추적을 사용하도록 설정할 때 추적 정보를 출력합니다. 자세한 내용은 .NET 프레임워크의 네트워크 추적을 참조하십시오.

. . 메서드는 여러 스레드에서 동시에 호출되었습니다. 따라서 URL이 없으면 어떻게 됩니까? 또는 응용 프로그램이 실행되는 컴퓨터가 인터넷에 연결되어 있지 않은 경우? 다행히 이러한 스카나리오는 상황에 따라 예외를 throw하는 WebRequest 및 WebResponse 클래스에서 처리됩니다. . 필요한 것만 반환하려면 코드를 수정합니다. 예를 들어 WebRequest 클래스는 인터넷 연결이 없거나 서버의 응답이 없는 경우 GetResponse 호출에서 WebException을 throw합니다(기술적으로 둘 다 동일). Download_PDF 별도의 솔루션에서 API의 소비 프로그램 방법입니다. BaseAddress 속성이 빈 문자열(„”)이 아니고 주소에 절대 URI가 없는 경우 주소는 요청된 데이터의 절대 URI를 형성하기 위해 BaseAddress와 결합된 상대 URI여야 합니다.

QueryString 속성이 빈 문자열이 아닌 경우 주소에 추가됩니다. BaseAddress 및 주소를 결합하여 형성된 URI가 잘못되었습니다. 스트림으로 작업할 때는 코드 섹션이 완료될 때 항상 스트림을 닫고 디포지트하는 것을 염두에 두어야 합니다. 이렇게 하면 나중에 버그와 오류를 추적하는 데 많은 시간을 절약할 수 있습니다. 이 문제는 API 메서드에서 반환 된 데이터 형식과 관련 될 수 있습니다. /API/DocumentsDownload에서 응답을 받는 것 같습니다. /API/DocumentDownload 방법의 코드를 여기에서 공유하시겠습니까? . . . .NET 프레임워크는 System.Net 네임스페이스를 통해 온라인 작업에 대한 충분한 지원을 제공합니다.

이 경우 WebRequest 및 WebResponse .NET 클래스를 사용합니다. . 나는 아래와 같이 소비 프로그램을 변경했습니다 . 하지만 여전히 작동하지 않습니다 … try-catch 문에서 논리를 래핑하면 사용자에게 원활한 환경이 생성될 수 있습니다.