gpt4 book ai didi

ajax - 将 REST API 响应显示为内联 pdf(未下载文件)

转载 作者:行者123 更新时间:2023-12-02 04:38:53 25 4
gpt4 key购买 nike

我使用的是 force.com,我必须在页面中内嵌一个 chatter pdf 文件(不是下载)。我没有指向 pdf 的直接访问链接,获取文件本身的唯一方法是通过 rest 调用 eg

/服务/文件/文件ID/内容

这将返回二进制 pdf 数据,然后我想将其嵌入到网页中。基于各种 Stack Overflow 答案,我得到了一些如何执行此操作的好主意,pdf 在页面中打开,除了它的空白 - 即它没有内容。它具有正确的页数,但未显示任何文本。

如果我在这个请求发生时运行 fiddler,然后将响应保存为文件,pdf 看起来很棒。但出于某种原因,对 ajax 请求的响应并被传递到浏览器并不好。我怀疑这与我需要进行的某种编码有关,以便将 pdf 数据正确传送到浏览器。

非常感谢这里的任何建议甚至不同的方法 - 尝试了许多不同的方法,这是我得到的最接近的方法,但再次被阻止。

这是我调用 API 并在浏览器中显示的代码:

$.ajax({
url: "/services/data/v35.0/chatter/files/069R0000000O8reIAC/content?versionNumber=1",
headers: {"Authorization": "OAuth xxxxxxxxxxxx"},
contentType: "application/pdf",
success: function(data)
{

var blob = new Blob([data], {type: "application/pdf"});
window.open(URL.createObjectURL(blob));

},
type: 'GET'
});

这将打开一个如下所示的页面:(注意:它具有正确的页数) enter image description here

即使当我在该请求上查看 fiddler 并将响应正文保存为文件时,pdf 也很好!

最佳答案

不仅要将 ContentType 包含为“application/pdf”,还要将 ContentDisposition 包含为“inline”。

关于ajax - 将 REST API 响应显示为内联 pdf(未下载文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39163606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com