【问题标题】:Object tag with type = "application/pdf" not issuing GET method to download PDF类型为“application/pdf”的对象标签不发出 GET 方法来下载 PDF
【发布时间】:2016-03-05 15:27:02
【问题描述】:

我正在开发一个使用<object> 标签将PDF 嵌入网页的应用程序。这是我正在使用的 HTML:

<object data = "C:/full/path/to/some_file.pdf" type = "application/pdf" width = "100%" height = "100%">
<p>It appears you don't have a PDF plugin for this browser. 
<a href = "file:///C:/full/path/to/some_file.pdf">Click here to download the file.</a>
</p>
</object>

弹出关于没有 PDF 插件的段落并且链接存在正确的文件路径,但是当我单击链接时没有任何反应。这可能是什么原因造成的?我认为它可能是前面的“file:///”,但是当我删除它时,我得到了关于“c”没有与任何程序关联的错误。

这是我页面的(非常!)基本结构:

<html>
<head>
...
</head>
<body>
 <div>
  <div>
   <div>
    <div>
     <iframe src = "dynamically_generated.html">
      <html>
       <head></head>
       <body>
        <object type = "application/pdf" ...></object>
       </body>
      </html>
     </iframe>
    </div>
   </div>
  </div>
 </div>
</body>
</html>

如果需要更多信息,请告诉我。谢谢!

【问题讨论】:

  • 您是否正在通过 http 加载包含此 &lt;object&gt; 标记的页面?例如一个完整的网址?如果是这样,您不能在源自“外部”的页面中使用本地 url。
  • 不,我正在将包含 &lt;object&gt; 标记的页面加载为 iframe。我将更新我的问题以显示页面的基本结构。
  • 是否必须使用object 标签加载它?
  • 不,一点也不。我只是根据我在网上阅读的内容来做这件事。我是一个 HTML 新手,所以我绝对愿意接受建议。
  • 您可能想尝试在 iframe 中嵌入 PDF 文件以使用内置浏览器 PDF 阅读器(如今几乎每个人都自带)或获得最大兼容性,例如 PDFjs

标签: html pdf


【解决方案1】:

如果问题是链接到 PDF 文档,那么您可以尝试通过使用 .. 将 URL 从绝对(意味着所有 file:///c:/...)链接到相对更上一层,例如HTML 文件位于路径C:/full/path/to/file.html 中,而PDF 文件与HTML 文件位于(在同一文件夹中),那么您可以只写some_file.pdf 而无需完整路径C:/full/path/to/some_file.pdf

在 Windows 上,根据Wikipedia,所有这些都是本地文件的有效路径:

file://localhost/c|/WINDOWS/clock.avi
file:///c|/WINDOWS/clock.avi
file://localhost/c:/WINDOWS/clock.avi

前面的file:/// 很重要,因为它告诉浏览器这是一个本地文件,而不是网站某处的文件。

请注意,尽管某些浏览器 (Firefox included) 会拒绝从 Web URL(以 (http|https):// 开头)链接到本地​​文件,因此也可能会给您带来问题(有关更多信息,check this answer) .

【讨论】:

  • 所以我终于弄清楚了问题所在。基本上有三件事出了问题:1)工作目录和路径,你在上面提到,2)试图同时使用localhost和file://,你似乎也在上面提到,3)我的文件名是不允许有空格。有很多事情发生,但我终于能够得到它,所以感谢您的输入!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 2012-09-16
  • 2015-09-15
  • 1970-01-01
相关资源
最近更新 更多