我的团队被这个问题困扰了。我们使用商业智能REST服务使用jQuery GET ajax调用从服务器获取PDF报告。它返回PDF的字节(看起来像乱码)但是当我在Excel库中创建一个文件时,PDF不会打开,它说它已经损坏了。如果我编写服务器c#代码,我可以将REST查询的响应转换为PDF格式。
我已经能够使用直接* .pdf URL成功保存上传的PDF和PDF。与响应的格式有所不同。
响应是对象Blob type = application / pdf
XML看起来像响应(base64?)JVBERi0xLjcKJeTjz9IKNCAwIG9iago8PC9MZW5ndGggMyAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl ... 原始响应看起来像pdf gibbeish(就像在记事本中打开PDF一样)
如何将其保存或打开为PDF?最终我需要将其上传到SharePoint,但即使只是在浏览器中打开它也会很棒。
此代码返回Blob
$.ajax(
{
url:"MYBUSINTELLIGENCESERVER/raylight/v1/documents/"+ docID +"/",
type: "GET",
dataType: "binary",
processData: false,
headers:
{
"Accept": "application/pdf",
"X-SAP-LogonToken":secToken
},
success: function(result)
{
uploadFile(result);
}
})
uploadFile有大约20个变种都失败了。代码没用。我想我们会遗漏一些基本的东西,但无法弄清楚。
如果您使用JavaScript成功保存商业智能PDF,请提供帮助!
这不是重复的,因为没有建议的重复答案有效。我自己找到了答案。