Epub3电子书阅读器制作(二)下载和解压

上次已经对epub阅读器的制作进行了思路分析,现在就开始慢慢入手开始制作epub3阅读器

首先大家可以回顾一下上一次分享的思路原文链接在这里:(http://www.jianshu.com/writer#/notebooks/2365438/notes/5500194)

看完之后,我们继续开始下面的内容,epub3的文章我们必须先从网络上下载下来然后对文件解压因为我们要对里面的文件进行html和css解析,我给大家一个地址(http://42.121.255.86:6080/group1/M00/3E/E7/F_Wj2JzfU4nAMBFpTm.epub)

自己也可以尝试做一下.

下载我是用AFNetworking3.1.0来做的.需要传入需要下载的文件URL和保存文件的路径

示例代码如下:


Epub3电子书阅读器制作(二)下载和解压_第1张图片
WQDownloadFileManager.h

定义WQDownloadFileManagerDelegate,当下载时,可以实时拿到下载进度,当下载完成后可以拿到file的存放路径.当下在发生错误时,会将从错误传出,方便对错误进行处理.


Epub3电子书阅读器制作(二)下载和解压_第2张图片
WQDownloadFileManager.m

在这里用af3.1.0实现下载,然后在各个阶段使用代理将所需要的数据传出.

当下载的类完成后就可以对下载好的文件进行解压

解压我用的是第三方ZipArchive,我使用pod导入的

然后定义解压类!


Epub3电子书阅读器制作(二)下载和解压_第3张图片
WQZipUnpackManager.h

第一个参数是需要传递文件的路径,第二个参数是将文件解压的路径


Epub3电子书阅读器制作(二)下载和解压_第4张图片
WQZipUnpackManager.m

定义一个bool值用来返回是否解压成功

第一步是打开需要被解压的文件,如果没有打开直接返回NO,如果没有打开可以检查文件路径是否正确,如果文件路径正确,检查下载的文件的字节数是否有值,今天我遇到了字节数为0的情况,所以在这做出提示.

第二步就是解压过程了,将解压好的文件存放到目标文件路径下.

然后关闭文件.返回YES,表示解压成功.

今天就分享这些.后面会将已下载和未下载不能阅读灯逻辑加上进行分享.

如果以后大家有什么文章希望能够分享在我的专题之下目前文章较少,关注人也比较少,但是日积月累吗!总会好起来的.专题是:iOS学习引擎

谢谢

本人联系方式:qq:513961360

email:[email protected]

也可以加我们的qq群希望能与朋友们一起聊天和学习.群里还有很多iOS开发者,帮助我们解决问题,并且同时学习.

qq群号:580284575

你可能感兴趣的:(Epub3电子书阅读器制作(二)下载和解压)