잠시 시간을 내어 귀하의 Telerik 계정 프로필을 완료 하십시오 .이 경우 파일을 다운로드 하려는 경우 구현 하려고 하는 것 처럼 비동기적으로 호출 하는 대신 동기적으로 다운로드 호출을 수행 하는 것이 좋습니다. 다운로드 또는 오류 없이 즉시 “다운로드가 완료 되었습니다!” 라는 메시지가 표시 됩니다. 다운로드 파일 메서드는 예외를 throw 합니다. 또한… async로 이동 하기 전에 비 비동기 버전을 사용 하 여 시작 합니다. 이 파일을 다운로드 하거나 오류가 발생할 때까지 프로그램을 잠글 것 이다, 하지만 당신은이 다운로드를 비동기적으로 수행 할 수 있는 특별 한 필요가 있습니까? 이렇게 하면 다음 설명을 사용할 수 있습니다. 솔루션을 마우스 오른쪽 단추로 클릭 하 고 “NuGet 패키지 관리”를 클릭 하 고 위의 두 파일을 설치 합니다. 6 단계 아래와 같은 Windows form 디자인에는 하나의 c # 기반 응용 프로그램이 있습니다. 내가 원하는 것은 목록에 있는 폴더에 있는 csv 파일을 표시 하 고 한 사용자가 링크를 클릭 할 때 특정 파일을 로컬 pc에 다운로드 할 수 있도록 하는 것입니다. 웹 API post 메서드를 사용 하 여 웹 서버에 파일을 업로드할 수 있습니다. 이 방법에서는 post 메서드를 사용 하 여 파일을 가져오고 웹 서버 업로드 폴더에 파일을 업로드 합니다. 이 기사에서는 웹 서버에 파일을 업로드 하기 위한 Windows Form에서 웹 API를 사용 하는 방법, 서버 폴더에서 파일 정보 목록을 가져오고 c # Windows 응용 프로그램을 사용 하 여 서버에서 파일을 다운로드 하는 방법을 자세히 볼 수 있습니다.

응용 프로그램을 빌드하고 실행 합니다. 웹 서버에 웹 API를 게시 하 고 Winform에서 웹 API URL을 업데이트 합니다. 이제 응용 프로그램을 테스트할 수 있습니다. 첨부 된 압축 파일에서 Winform 및 Web API, 소스 파일을 모두 다운로드할 수 있습니다. 파일 이름을 “UploadFile”로 입력 하 고 클래스 파일을 만듭니다. 파일 처리에 대 한 아래 속성을 추가 합니다. 위의 코드를 사용 하 고 있지만 다운로드 한 파일의 크기는 0Kb입니다. 나는 form_load에 먼저 파일 다운로드 방법을 호출 하 고 그 후 버튼을 클릭 합니다. 추가 3 버튼-웹 서버에 파일을 검색 및 업로드, 웹 서버에서 파일을 다운로드 하는 두 번째 하나, 그리고 세 번째는 파일 목록을 얻을 수 있는 모든 파일 정보를 수집 하 고 그리드에 바인딩.

파일 찾아보기/업로드 버튼을 클릭 하십시오. 이제 또 다른 질문이 있습니다. 나는 하나의 버튼을 사용 하 여 한 번에 3 파일을 다운로드 할 말을 할 수 있습니다. 어떻게 하면 다음 시작을 완료 한 후이 일에 대해 얻었다 것입니다! 나는 그것을 감사 합니다! BackgroundWorker1_RunWorkerCompleted 메서드는 RunWorkerCompleted 이벤트를 처리 하 고 백그라운드 작업이 완료 될 때 호출 됩니다. 이 메서드는 먼저 확인 된 Asynccomplete 속성입니다. 오류가 null 인 경우이 메서드는 파일의 내용을 표시 합니다. 그런 다음 다운로드가 시작 될 때 비활성화 된 다운로드 단추를 활성화 하 고 진행률 표시줄을 다시 설정 합니다. Web API 프로젝트에서 웹 서버에 파일을 업로드 하 고 파일 이름, 파일 경로 및 파일 길이와 파일 세부 정보 목록을 반환 하는 컨트롤러를 만들 것입니다. 위의 코딩에 대 한 감사 하지만 내 응용 프로그램에서이 응용 프로그램에서 수행 한 것과 같은 비율로 파일을 업로드 해야 합니다. 파일은 DoWork 이벤트 처리기를 실행 하는 배경 작업자 구성 요소의 작업자 스레드에 다운로드 됩니다.

이 스레드는 코드가 RunWorkerAsync 메서드를 호출할 때 시작 됩니다. 다음 코드 예제에 사용 하는 방법을 보여 줍니다는 Back그라운드 작업자 구성 요소 URL에서 XML 파일을 로드 합니다. 사용자가 다운로드 단추를 클릭 하면 Click 이벤트 처리기는 백그라운드 작업자 구성 요소의 RunWorkerAsync 메서드를 호출 하 여 다운로드 작업을 시작 합니다. 다운로드 하는 동안 단추가 비활성화 된 다음 다운로드가 완료 되 면 활성화 됩니다. MessageBox는 파일의 내용을 표시 합니다. 나는 6mb의 크기와 확장자가 파일을 다운로드 하려고 합니다. Exe. 파일 업로드 단추를 클릭 하면 메서드를 업로드로 호출 하 고 웹 API URL을 전달 하 여 웹 서버 파일 경로에 파일을 업로드 합니다. 그건 꽤 많이.

파일을 다운로드할 URL 주소와 인수로 저장 하려는 위치를 사용 하 여 다운로드 File 메서드를 호출 하면 됩니다.