例如,看小说。把小说文件的文件压缩成一个web包,用户想看小说就先用断点续传的方式将小说下载到沙盒中,再解压缩
断点续传的思路:
根据HEAD方法获取到要下载文件的总大小
在磁盘上建立一个临时的缓冲文件,该文件的大小与目标文件大小一致
缓冲文件中所有字节默认均为0
开启多线程,分别加载不同的range头指定的数据块,待数据块加载完成后,将其分别写入对应的偏移地址
所有数据块下载完成后,表示文件下载完成 ,将临时文件更名为目标文件
开发难点:
在开始写入文件之前,首先要建立一个同等大小的文件
文件的读写问题,在oc里默认是覆盖、追加,如果需要指定位置,需要使用SEEK方法,移动文件指针
在多线程写入文件时,文件的锁定操作是一个问题