Download.js不适用于pdf mimetype

时间:2017-07-31 16:15:21

标签: javascript thymeleaf

我需要在点击页面上的链接时下载文件。单击按钮,从HERE调用下载js文件。

但是mimetype application / pdf不能正常工作。有什么帮助吗?

可以尝试使用HERE独立演示来测试download.js。

download("hello world", "dlText.pdf", "application/pdf");

3 个答案:

答案 0 :(得分:2)

看起来你想要专门用来解决PDF问题的JsPDF

您需要做的就是使用setText()功能



 var doc = new jsPDF();
 doc.text(20, 20, 'Hello world!');
 doc.save('is_this_what_you_are_looking_for.pdf');

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

看起来根本不需要Javascript。 解决了服务器端。如果有人在寻找服务器端Java解决方案。

控制器在没有任何js apis的情况下工作。

public static void downloadFile(
        final HttpServletResponse response,
        final String fileName,
        final String fileType,
        final byte[] decodedDocument) throws Exception {

    /* Set the file properties */
    if (fileType == null) {
        response.setContentType("application/octet-stream");
    } else {
        response.setContentType(fileType);
    }
    response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");

    /* Convert bytes to stream of objects */
    InputStream is = new ByteArrayInputStream(decodedDocument);

    /*Download copying the content to destination file */
    IOUtils.copy(is, response.getOutputStream());
    response.flushBuffer();
}

答案 2 :(得分:0)

您需要使用BLOB数据类型,您需要将代码更改为

download(new Blob(["hello world"]), "dlText.pdf", "application/pdf");

希望这有帮助!