我正在使用force.com,需要在页面中嵌入chatter pdf文件(而不是下载)。我没有直接访问pdf的链接,唯一获取文件本身的方法是通过rest调用,例如/services/files/fileid/content。这将返回二进制pdf数据,然后我想将其嵌入网页中。
根据各种Stack Overflow答案,我得到了一些很好的想法来做到这一点,pdf在页面中打开,但它是空白的 - 即它没有内容。它有正确数量的页面,但没有文本显示。
如果我在此请求发生时运行fiddler,并将响应保存为文件,pdf看起来很棒。但由于某种原因,传递给浏览器的ajax请求响应不好。我怀疑这与我需要进行某种编码以便正确地向浏览器传递pdf数据有关。
非常感谢任何建议或不同的方法 - 我尝试了许多不同的方法,这是我最接近的,但又被阻止了。
以下是我调用API并在浏览器中显示的代码:
这将打开一个页面,看起来像这样:(注意:它有正确数量的页面)
即使我在该请求上查看fiddler并将响应正文保存为文件,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](https://istack.dev59.com/CbgBL.webp)