【问题标题】:How to prevent auto download of doc/docx/pdf file on iframe src如何防止在 iframe src 上自动下载 doc/docx/pdf 文件
【发布时间】:2020-01-09 07:00:15
【问题描述】:

我想构建文档的模糊预览。文档被上传到同一个域。文档可以是doc/docx/pdf。我用iframeembedobject 尝试了很多解决方法。

<iframe src="URL" title="Embedded Document" style="width:100%; height:500px; border: none;"></iframe>

<iframe src="URL#toolbar=0" title="Embedded Document" style="width:100%; height:500px; border: none;"></iframe>

<embed src="URL">

<object data="URL"></object>

但没有什么能达到我的要求。

任务: 我想在无法下载的网页上显示文档的预览。以上解决方法,在我刷新网页时自动下载 doc/docx 文件。我想要一个模糊的文档预览,如下所示:https://essaybatch.com/how-would-you-convene-and-run-your-meetings-if-you-are-based-in-the-united-states/,并且该文件不应该被自动下载。

客户强烈要求此要求,因此我无法避免该功能。您可以使用 HTML、CSS、JS、PHP。

【问题讨论】:

  • 为什么要使用真实文档的模糊预览?只需在购买后将其显示给登录用户(客户)即可。如果它像您的示例中那样模糊,我真的无法判断它是否是真实文档,我猜这也不重要
  • @Aaron 可以通过 CSS 实现模糊效果。我向客户提到了安全问题,他正要取消订单。他需要在提供的 URL 中预览文档。所以我在这里别无选择。请帮帮我
  • 只使用静态图像我真的不明白为什么必须对真实文档进行模糊处理,这对我来说似乎是一种安全/业务风险。
  • 只需将图像的 type:image/png' 等其他文档添加到您存储或检索它的 API 中
  • @Aaron ik,但客户一直要求这样做

标签: javascript php html iframe simple-html-dom


【解决方案1】:

这是我将如何实现它:

  1. 使用 PHP 库截取文档并将其保存为图像。 在 iframe 源中,您应该包含该图像并使用 CSS 对其进行模糊处理。不要包含指向实际 .doc 文件的链接,因为它存在安全风险。

  2. 将 JS 侦听器添加到包含机密值的 cookie 的页面。当 cookie 设置为该值时,页面会重新加载并将 iframe 源更改为文件位置以供下载。

  3. 付款完成后,返回一个回调,其中包含通过 PHP 设置 cookie 的秘密值(令牌)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 2016-11-23
    • 2018-07-20
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    相关资源
    最近更新 更多