【发布时间】:2015-09-26 18:49:43
【问题描述】:
var ajaxSettings = {
url: urls.orders.list+"/"+singlePacket.requests[0].order_id+"/labels", //request labels the status will change to ShipperAssigned
type: "GET",
contentType: "application/json",
headers: { "Authorization": "Bearer " + api.access_token },
success: function (resp) {
if (resp != null) {
var d = btoa(unescape(encodeURIComponent(resp)));
console.log(d);
if(d != null)
window.open('data:application/pdf;base64, ' + d);
}
},
error: function (jqXhr, textstatus, errorThrown) {
console.log("Status: " + jqXhr.status + ": error thrown in downloadLabels: " + errorThrown);
hide_shipping_progress_modal();
}
};
$.ajax(ajaxSettings);
当我打开 pdf 时,我得到一个空白的 pdf。我的响应是 spring mvc 的输出流结果
请帮忙。
【问题讨论】:
-
你用的是什么浏览器?只有部分浏览器支持 base64 功能。以下是更多信息:Embedding Base64
-
嗯,chrome 支持最大 2mb 的 uri,我假设它不会比这大吗? Data Protocol Size Limits
-
我创建了一个示例Fiddle 来说明您的问题。小提琴似乎和你有同样的问题。我确实遇到过这篇帖子Creating a Blob from a base64 string in JavaScript,您可能会对使用 blob 而不是数据 uri 感兴趣。我更新了我的Fiddle 以展示如何实现的示例。
-
@JasonWilczak 是的,我认为这不仅仅是任何解决方法?
-
blob 也没有打开 pdf 文件?
标签: javascript jquery pdf