2017-02-13 32 views
0

У меня есть страница jsp с кнопкой, эта ссылка на сервлет, и это создает PDF-файл потока, который как ответ.JSP Сервлет ответ pdf в JQuery

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); 
     }); 
    }); 

Я получаю RESPONS данных как base64, как я могу загрузить его в PDF-файл?

+1

Возможный дубликат [Скачать файл с помощью JavaScript/JQuery] (http://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery) – BackSlash

+0

В чем проблема? Ваш pdf-файл не отображается или вы хотите его загрузить? – Mike

+0

Посмотрите на это: [link] http://stackoverflow.com/questions/26332467/add-image-into-div-and-convert-base64-string-into-thumbnail-using-jquery [ссылка] – Vish

ответ

0

я решил его над этим сценарием

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(); 
    } 
};