gpt4 book ai didi

javascript - 在 Visualforce 页面中显示 Chatter 文件的 PDF

转载 作者:行者123 更新时间:2023-12-03 05:39:39 26 4
gpt4 key购买 nike

我将 pdf 作为聊天文件存储在我们的 SF 组织中,该组织运行良好,但向用户显示这些 PDF 非常具有挑战性,尤其是在移动设备(例如 ipad)上我找到了一些优秀的 javascript PDF 查看器,它们在 iPad 上表现得相当好。挑战在于将 pdf 文件交付给这些查看者。

其中大多数需要本地 pdf 文件才能查看,但有些像 google view 会获取 pdf 的 url,例如 https://docs.google.com/viewer?url=https://urltopdf

可通过 chatter GET 获取 pdf 文件,如下所示: https://cs2.salesforce.com/services/data/v35.0/chatter/files/ {docId}/内容?版本号=1问题当然是我需要传入身份验证 header 。如果我只是将该 url 传递给 google 查看器,它会因为身份验证而失败,因为它没有传入 Auth header 。

我尝试了一些事情..

  • 在 Salesforce 中构建了 Google 查看器调用的代理 API,该 API 调用 Chatter,然后将文件返回到 Google 文档 View 问题:自定义 SF API 有 6mb 限制,这意味着如果 pdf 大于 6mb,它将无法工作!

  • 在 SF 外部构建了一个代理 API(以绕过 6mb 限制),包括一些有趣的方法来保留身份验证问题:跳数太多,Google 查看器无法及时返回数据...它调用外部代理 API,然后调用 Chatter API,后者必须将 pdf 数据返回给外部代理 API,然后返回 Salesforce(我知道这很荒谬)。

所以我被困住了......我认为从 Spring 13 开始,Chatter API 就可以访问,无需从 VF 页面上的 Javascript 进行任何特殊身份验证。真的吗?当从 VF 页面上的 javascript 调用时,这个 url 是否可以在没有任何 auth header 的情况下工作? https://cs2.salesforce.com/services/data/v35.0/chatter/files/ {docId}/内容?版本号=1它似乎对我不起作用,并且在通过谷歌查看器时绝对不起作用。

真的很感激任何关于如何做到这一点的建议吗?谢谢

最佳答案

请不要恨我,我正在努力获得一些代表。

您可以在VF页面通过ajax请求查询docid的静态资源并加载文件。

之后,需要使用添加到 base64 的 data:image/png;base64 将其添加到 Canvas 。您还可以向 Canvas 添加下载标签,以便下载或在另一个窗口中打开它,为用户提供浏览器 pdf 资源管理器。

如果您使用 Canvas ,调整大小时请小心 Safari。如果你得到一个很长的数字,它就会在 Canvas 上乱七八糟。我在那个上花了几个小时。

希望对您有所帮助。

关于javascript - 在 Visualforce 页面中显示 Chatter 文件的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596332/

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