DWR 시작 인스턴스 5 파일 다운로드

1269 단어 dwrj2ee
이전 DWR 시작 인스턴스 4 파일 업로드에서는 DWR3 활용에 대해 설명했습니다.0 파일 업로드 기능을 수행합니다.
DWR3을 활용하는 방법에 대해 설명합니다.0 파일의 다운로드 기능을 실현합니다.
다운로드 기능을 구현하는 단계는 다음과 같습니다.
1단계:javabean
4
public FileTransfer exportExcel(Object… args) throws Exception {

    // 

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(bos);

    byte[]data = new byte[512];   // data; ;
    dos.write(data);// bos 

    return new FileTransfer(data+".xls", "application/msexcel", bos.toByteArray());
// FileTransfer : , (header type), 。

}
2단계: js
var exportExcel = function(){
      JavaBean.exportExcel(params,{
        callback:function(data){
            dwr.engine.openInDownload(data);
        },
        async : false
    });
};

전체 다운로드 기능에 필요한 관건적인 코드가 열거되었는데 그 중에서 관건적인 것은 FileTransfer 대상이다.
js의 async는false로 설정되어 있으며, 리셋 함수의 dwr입니다.engine.openInDownload(data).
/************************** 원리*********************************************/
DWR AJAX가 다운로드를 실현하는 원리: 사실은 페이지에 iframe을 끼워서 src를 백엔드에서 생성된 다운로드 파일의 URL으로 설정하는 것이다(이 URL은 DWR 내부에서 생성된 것이다).
사실 우리가 평소에 하던 일반 다운로드 기능과 같은 원리다.
/****************************end**********************************/

좋은 웹페이지 즐겨찾기