2012-06-25 2 views
1

목적 : - 서버 측 : 자격 증명을 확인한 후 파일을 응답 스트림에 씁니다. 즉, 파일에 공개 액세스 할 수 없습니다. - 클라이언트 측 : ASP .NET의 응답 스트림에 작성된 파일 다운로드 C#

  • this.Response.ContentType = "응용 프로그램/octet-stream을"

    • 자격 증명을 확인; 지금까지의 http://xyz.com?credentials=abc

      하여이 파일을 다운로드, 영문 페이지는 다음을 수행합니다

    • this.Response.BinaryWrite (binaryReader.ReadBytes (1024));

    WinForms 앱에서이 파일 데이터를 다운로드하는 가장 좋은 방법은 무엇입니까?

  • 답변

    4

    가장 간단한 방법은 WebClient 사용하는 것입니다 : (.하지 UI 스레드에서 어느 쪽이를 시작하거나 비동기 버전을 사용 당신은 당신의 UI 스레드가 다운로드하는 동안 차단하지 않습니다.)

    WebClient wc = new WebClient(); 
    wc.DownloadFile(url, filename); 
    

    +0

    URL에 자격 증명이 포함되어 있고 파일이 서버 측 코드를 사용하여 응답 스트림에 기록되므로이 경우 파일이 HTTP를 통해 공개적으로 액세스 할 필요가 없다고 가정합니다. –

    +0

    @RaheelKhan : 웹 클라이언트가 사용할 자격 증명을 설정할 수 있습니다. 이 파일은 SMB 공유 또는 그와 비슷한 것으로 사용할 필요는 없습니다. –