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 이 호출되지 않는다.

댓글 없음:

댓글 쓰기

🧠💥 이탈리안 브레인롯(Italian Brainrot): 인터넷 밈의 신세계 🇮🇹

요즘 SNS에서 유행하는 이상한 말투, 이탈리아 억양, 그리고 피자 이모지 🤌🍕. 이게 다 뭔지 궁금하셨다면, 바로 이 ‘이탈리안 브레인롯(Italian Brainrot)’ 때문입니다! 중독성 있는 이 밈, 지금부터 쉽고 재밌게 알아볼게요. ...