2011-12-28 54 views
0

我正在使用下面的代码来读取Word文档文件。此代码工作得很好,当我用它来阅读文本文件如何修改当前代码以使用HTML5文件API读取.docx文件

$('#xfilex').live('change', function() { 
var file = document.getElementById('xfilex').files[0]; 
if(file) { 
      var reader; 
      reader = new FileReader(); 
      reader.readAsText(file, "UTF-8"); 
      reader.onload = loaded; 
      } 
}); 
function loaded(evt) { 
       var fileString = evt.target.result; 
       var str = fileString; 
       alert(str); 
} 

但这种代码是无法读取的.docx/.doc文件。请帮我修改代码。

+0

当您在.doc文件上运行时发生了什么,当您在docx文件上运行它时会发生什么?你会得到什么错误? “读”是什么意思,哪一部分在这里执行文档转换? –

+2

.doc是一种专有文件格式,.docx是一种压缩(IIRC)XML格式。单独使用JavaScript处理这两者都不是微不足道的。我会把它留给服务器来处理。 –

+0

@Pekka非常感谢你澄清这一点。其实我没有任何访问服务器上我们所做的一切就像使用jQuery.Thanks再次玩DOM(客户端)方式。 – Exception

回答

2

为了读取DOCX文件,您需要解压缩其内容(这是文件夹,xml文件和图像等资源的混合)。 也许你可以在这个帖子了一些线索: Unzipping files

我怀疑你可以读取DOC文件,因为它是一个二进制文件(并关闭)格式。

+0

DOC的问题只是关闭了,您可以使用JavaScript读取二进制文件。 – tungd

+0

这是一个5年前的答案,现在有另一种方法可以做到这一点吗? – Ethaan

+0

也许你可以试试[DOCX.js](http://blog.innovatejs.com/?p=184)。 – CedX