2012-01-03 187 views
1

我想在JavaScript中读取一个pptx文件,所以我想解压缩并阅读内存中的内容。我不想先将文件存储在服务器上。我想选择一个带有输入类型文件的文件,只需使用input-element的文件并将其读取为二进制文件或类似文件。我想从一个文件或BLOB对象解压JavaScript文件

我发现了很多库来从url解压缩zip文件,我试着看代码,但我无法弄清楚它用于blob或字节数组。

我可以读一些东西,如这里所描述的事情:http://en.wikipedia.org/wiki/ZIP_%28file_format%29#File_headers

但我不知道字节或位级怎么放气的作品。

回答

1

(你说你要使用input元素,所以我猜这是基于浏览器的JavaScript。)

你的第一步是使用File API读取文件作为binary string 。有关示例,请参见my answer to this other question。然后你需要找到一个图书馆。快速搜索发现this one,实现膨胀和放气。 (我没有使用它的个人经验,只是在this other question的答案中找到它。)

当然,这只适用于支持File API的相当现代的浏览器。否则,除了将文件推送到服务器并在那里执行工作外,您别无选择,因为如果没有File API,您将无法访问浏览器中文件的内容。

+0

但是,如果我将zip文件作为二进制字符串读取,则文件标题将位于该字符串中,并且不需要放缩。 – YentheO 2012-01-03 14:49:37

+0

@ user709455:您必须完成pptx格式的详细信息。没有任何捷径可以阻止你找到一个客户端JavaScript库,这个库已经可以理解pptx文件。 – 2012-01-03 15:02:06

+0

,但是一个pptx文件只是一个zip文件...我只需要解压缩它并阅读 – YentheO 2012-01-03 15:04:38