2017년 4월 14일 금요일

fileDownload.js file download after form submit (파일 다운로드 후 처리)


웹 파일다운로드 기능에서 사용자의 요청을 막는(?), 즉 사용자를 대기시키게 만드는 기능이 필요하다.

파일용량이 크거나 사용자의 네트워크 환경이 느린 곳?(해외)

그래서 사용한 것이 jQuery 플러그인 fileDownload!

jquery.fileDownload.js 파일이 필요하다.

아래 링크에서 다운받을 수 있다.

 github.com jquery.fileDownload

 * 참고로 Progress bar 대응으로 blockUI를 사용했다.

$.blockUI({message:"<h1>Downloading...</h1>"}); 
$.fileDownload($('#testForm').prop('action'), { 
    //preparingMessageHtml: "We are preparing your report, please wait...", 
    //failMessageHtml: "There was a problem generating your report, please try again.", 
    httpMethod: "POST", 
    data: $('#testForm').serialize(), 
    successCallback: function (url) { 
    $.unblockUI(); 
    },
    failCallback: function (responseHtml, url, error) { 
    $.unblockUI(); 
    alert("fail Download"); 
    } 
});


그리고 한가지 더 중요한것이 있는데, Java 쪽에서 cookie 설정을 꼭 해주어야한다.
res.setHeader("Set-Cookie", "fileDownload=true; path=/");//중요
cookie 설정을 하지 않으면 successCallback 이 호출되지 않는다.

댓글 없음:

댓글 쓰기

♻️ 아이폰 리퍼 제품이란? 장단점과 구매 시 주의사항 총정리!

리퍼 아이폰 에 대해 들어보셨나요? 정품인데 저렴하고, 애플에서 직접 수리한 제품이라 믿을 수 있는 가성비 아이템입니다. 이번 포스팅에서는 아이폰 리퍼 제품의 개념부터 구매 팁까지 전부 알려드릴게요! ✅ 리퍼 제품이란? ‘ 리퍼비시(Refu...