如何从输入字段在浏览器中显示 PDF 文件

How could I display a PDF file in the browser from an input field

我想使用方法 "post" 在表单中有一个输入字段。在表单中将有一个附件字段,用户可以在其中上传 PDF 文件。

在另一个页面上,我希望用户能够使用查看器在浏览器中查看上传的 pdf 文件。

在不让用户 download/open 在单独的程序中处理 PDF 文件的情况下,最好的方法是什么?

谢谢!

这个问题有两个真正的组成部分:上传和存储文件,然后实际将它们提供给用户。

存储文件

就实际上传和保存 PDF 文件而言,您可以使用 <input type='file' /> 元素将它们发布到服务器:

<form action='{your target location}' method='post'>
     <input type='file' name='pdf' />
     <input type='submit' value='Upload PDF File' />
</form>

保存实际文件本身会因您使用的服务器端技术而异。但基本上在保存它们之后,您将需要某种类型的机制来为用户提供它们(通过直接访问文件或使用其他机制,如存储其内容的数据库)。

查看文件

大多数现代浏览器都有一些内置实用程序来呈现 PDF,但是,如果您想要一个在大多数浏览器中都相当一致并回退到其他浏览器的解决方案,您可以考虑使用 PDF.js 来处理它们的呈现在浏览器中。它为大多数浏览器提供支持(对 Internet Explorer 9 的支持有限)。