使用ajax从字节数组下载PDF
Download PDF from Byte array using ajax
我正在尝试下面的代码,但这是创建文件,但不显示内容。我需要你的帮助,我做错了什么。
$.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。
不能使用AJAX下载文件。这说不通啊。您可以在客户端的成功处理程序中发送AJAX请求并获取文件内容,但是出于明显的安全原因,您不能对它做太多事情。你不能在客户端计算机上保存它,也没有javascript API允许你提示用户在哪里保存它。
所以下载文件时,不要使用AJAX。创建一个指向服务器端脚本的锚点,该脚本提供要下载的文件。
样本:
window.downloadfile = function(e){
window.location = "/searchModel/createPDF?" + "my_param";
}
<a href="#" onclick="downloadfile()">download file</a>
是的,你们说正确并不意味着使用AJAX下载PDF。
window.location = "/searchModel/createPDF?" + "my_param";
就足够了,我们只需要从服务器端呈现pdf。它是默认可下载的。谢谢你的建议
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- node.js+cheerio-scrape:传递一个要下载的url数组
- 如何从网站下载 Javascript 数组
- 如何将 JavaScript 数组发布到 MVC 3 控制器操作(由于文件下载而没有 AJAX)
- 使用ajax从字节数组下载PDF