【问题标题】:JSP Servlet response pdf to JqueryJSP Servlet 响应 pdf 到 Jquery
【发布时间】:2017-07-01 08:47:46
【问题描述】:

我有一个带有按钮的 jsp 页面,该链接在 servlet 上,这会创建一个 pdf 文件作为响应的流。

protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    path = request.getServletContext().getRealPath("/");
    String pdfFileName = "foo.pdf";
    String contextPath = getServletContext().getRealPath(File.separator);
    File pdfFile = new File(path + pdfFileName);

    response.setContentType("application/pdf");
    response.addHeader("Content-Disposition", "attachment; filename=" + pdfFileName);
    response.setContentLength((int) pdfFile.length());

    FileInputStream fileInputStream = new FileInputStream(pdfFile);
    OutputStream responseOutputStream = response.getOutputStream();
    int bytes;
    while ((bytes = fileInputStream.read()) != -1) {
        responseOutputStream.write(bytes);
    }


}

jquery 是

$(document).ready(function() {
    $(".getpdfbutton").click(function(){
        var currentRow=$(this).closest("tr");
        var col1=currentRow.find("td:eq(0)").html();
        var data3=col1;  
        alert(data3);   
        $.get("PDFerzeugen",{Spass:data3}, function(data) {
            /* window.location = data; */
            alert(data);
        }); 
    });

我得到的数据响应为 base64,我如何将其下载为 pdf 文件?

【问题讨论】:

标签: java jquery jsp pdf servlets


【解决方案1】:

我通过这个脚本解决了它

    function SaveToDisk(fileURL, fileName) {
    // for non-IE
    if (!window.ActiveXObject) {
        var save = document.createElement('a');
        save.href = fileURL;
        save.target = '_blank';
        save.download = fileName || 'unknown';

        var evt = new MouseEvent('click', {
            'view': window,
            'bubbles': true,
            'cancelable': false
        });
        save.dispatchEvent(evt);

        (window.URL || window.webkitURL).revokeObjectURL(save.href);
    }

    // for IE < 11
    else if ( !! window.ActiveXObject && document.execCommand)     {
        var _window = window.open(fileURL, '_blank');
        _window.document.close();
        _window.document.execCommand('SaveAs', true, fileName || fileURL)
        _window.close();
    }
};

【讨论】:

    猜你喜欢
    • 2011-09-21
    • 2014-05-27
    • 1970-01-01
    • 2020-03-06
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    相关资源
    最近更新 更多