Ext. Net 파일 다운로드 실현

2273 단어 .net
  • 문제 설명
  •      Ext 환경 에서 전통 적 인. net 방식 으로 파일 다운 로드 를 실현 할 수 없습니다. 다운로드 단 추 를 눌 러 야 합 니 다. 반응 이 없 거나 오류 가 발생 합 니 다.
  • 원인 분석
  •      EXT. NET 은 배경 에서 프론트 데스크 톱 을 조작 하기 때문에 Extjs 에 의존 합 니 다. 즉, 프론트 데스크 톱 에 자바 script 스 크 립 트 코드 를 보 냅 니 다. 전통 적 인 페이지 내 파일 다운로드 방식 으로 프론트 데스크 톱 에 파일 흐름 을 보 내 면 Extjs 는 이 파일 흐름 을 정확하게 식별 하지 못 하고 파일 을 다운로드 할 수 없습니다.
  • 솔 루 션
  •      그러면 어떻게 해야만 Ext 환경 에서 다운 로드 를 실현 할 수 있 습 니까?홈 페이지 에서 파일 다운 로드 를 하지 않 고 다른 페이지 로 파일 다운로드 처 리 를 하 는 것 은 간단 하 다.
  • 홈 페이지
  • 방법 1 (JS 코드)


  •   window.location.href= "~/Service/DownLoad.aspx?filename=" + fileName + "&filepath=" + filePath;
  • 방법 2 (C \ # 코드)


  • X
     .Redirect(
    "~/Service/DownLoad.aspx?filename="
     
    + fileName + 
    "&filepath="
     + filePath); 
  • 다운로드 기능 페이지

  • public
     
    partial
     
    class
     
    Service_DownLoad
     : System.Web.UI.
    Page
    {
        
    protected
     
    void
     
    Page_Load(
     object
     sender, 
    EventArgs
     e)
        {
            
    string
     filename = Request.QueryString[
    "filename"
     
    ];
            
    string
     filepath = Request.QueryString[
    "filepath"
     
    ];
            DownloadFile(filename, filepath);
        }
     
        
    ///
     

        
    ///
     파일 다운로드
        
    ///
     

        
    ///
     

     
    파일 이름

        
    ///
     

     
    파일 경로 

        
    protected
     
    void
     
    DownloadFile(
     string
     filename, 
    string
     filepath)
        {
            Response.Clear();
            Response.AddHeader(
     
    "Content-Disposition"
     , 
    "attachment; filename="
     

    HttpUtility
     .UrlEncode(filename, System.Text.
    Encoding
     
    .Default));
            Response.ContentType = 
    "application/octet-stream"
     
    ;
            Response.TransmitFile(filepath);
            Response.End();
        }
    }
      http://www.cnblogs.com/liusuqi/

    좋은 웹페이지 즐겨찾기