首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ajax从字节数组下载PDF

使用ajax从字节数组下载PDF
EN

Stack Overflow用户
提问于 2015-10-17 00:04:44
回答 2查看 12.5K关注 0票数 2

我正在尝试下面的代码,但这是创建文件,但不显示内容。我需要任何人的帮助,我做错了什么。

代码语言:javascript
运行
复制
    $.ajax({
    type: "POST",
    async : false,
    url: "/searchModel/createPDF",
    data:"my_param",
    contentType: 'application/octet-stream',  
    beforeSend:function(){

    }, 
    success: function(html) {
        /* html value is [37,80,68,75 .........] */
        //var file = new Blob([html], {type: 'application/pdf'});
        //var fileURL = URL.createObjectURL(file);
        //window.open(fileURL);

        var blob=new Blob([html],{type: 'application/pdf'});
        var link=document.createElement('a');
        link.href=window.URL.createObjectURL(blob);
        link.download="SearchedResults.pdf";
        link.click();

    }
 }); 

来自服务器的响应在字节数组37,80,68,75中.........

请帮助我,如果数据在字节数组,它将如何转换为pdf。

EN

回答 2

Stack Overflow用户

发布于 2015-10-17 00:36:55

您不能使用AJAX下载文件。这没有意义。您可以发送AJAX请求并在客户机上的成功处理程序中获取文件内容,但是由于明显的安全原因,您不能对其做太多事情。您不能将其保存在客户端计算机上,也没有允许您提示用户将其保存到何处的javascript API。

因此,要下载文件,不要使用AJAX。创建一个指向服务于要下载的文件的服务器端脚本的锚点。

示例:

代码语言:javascript
运行
复制
window.downloadfile = function(e){
  window.location = "/searchModel/createPDF?" +  "my_param";
}
代码语言:javascript
运行
复制
<a href="#" onclick="downloadfile()">download file</a>

票数 1
EN

Stack Overflow用户

发布于 2015-10-17 14:00:20

是的,你们说的正确并不意味着使用AJAX下载PDF。

代码语言:javascript
运行
复制
 window.location = "/searchModel/createPDF?" + "my_param";

足够了,我们只需要从服务器端渲染pdf即可。它是您建议的默认downloadable.Thanks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33174880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档