在上传到服务器之前预览.doc / .docx / .pdf文件

我正在使用HTML5 File API来上传一些文档(.doc / .docx / .pdf)。 我想在将文档上传到服务器之前显示该文档预览。 有没有办法在客户端做这样的事情?

PS Google Docs Viewer不行,因为它需要从互联网访问文档。

不,这是不可能的。

您希望浏览器查看它不应该的数据文件。 您有Office或PDF查看器(确定,已授予,PDF ssems现在位于浏览器内…)以查看您的数据文件。

如果要在浏览器中显示预览,则必须先将其上载并将其存储在“for-preview”目录中。 确定后,将其移至最终目的地,否则删除。

我试图创建一些示例,在上传PDF文件之前会显示PDF预览。

   JavaScript PDF Viewer Demo        

在那些日子里你可以做到这样的事情:

 You do not have Word installed on your machine 

不确定是否仍然支持,但如果是这样,您可以使用JS将该对象注入页面进行预览。

File API将允许您从文件中读取数据,但是您将无法解析并呈现它。 Mozilla发布了一个JavaScript PDF查看器 ,但我不知道MS Office文件的任何内容。

Ajax上传你的文件,然后上传返回路径名并预览它。

blueimp的jQuery-File-Upload非常适合我。

你可以查看它的基本插件。

https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin

不确定是否还有人检查这个post,但我想我会分享我所做的。 无法直接显示预览,但您可以创建所选文件的blob对象。 像这样的东西(jQuery):

 $('#input').change(function (event) { var file = URL.createObjectURL(event.target.files[0]); $('element').append('' + event.target.files[0].name + ''); }); 

此链接将打开一个新的浏览器选项卡并显示/下载该文件。 这不是很漂亮,但它的工作原理。 这是一个例子: https : //jsfiddle.net/j9gw023b/3/