Home  >  Article  >  Java  >  How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?

How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 20:20:30541browse

How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?

Retrieve and Open PDF Files Using Ajax

To download and display a PDF file generated by an action class via Ajax, the following approach can be utilized:

In the action class, ensure that the content type is correctly set as "application/pdf" and that the desired file name is specified in the "contentDisposition" attribute:

<code class="java">public String execute() {
    ...
    ...
    File report = signedPdfExporter.generateReport(xyzData, props);

    inputStream = new FileInputStream(report);
    contentDisposition = "attachment=\"" + report.getName() + "\"";
    contentType = "application/pdf";
    return SUCCESS;
}</code>

In the Ajax call, configure the request to handle the stream response effectively:

<code class="javascript">$.ajax({
    type: "POST",
    url: url,
    data: wireIdList,
    cache: false,
    success: function(data) {
        // Convert the response data to a Blob object
        var blob = new Blob([data]);
        // Create a link element to trigger the download
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        // Set the desired file name for download
        link.download = "filename_with_extension.pdf";
        // Simulate a click event to initiate the download
        link.click();
        // Remove the Blob URL once the download completes
        window.URL.revokeObjectURL(blob);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('Error occurred while opening fax template' + getAjaxErrorString(textStatus, errorThrown));
    }
});</code>

By incorporating this approach, the PDF file generated by the action class can be downloaded and opened successfully using Ajax.

The above is the detailed content of How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn