1.首先 需要导入 大神写好的 第三方的 数据流的压缩库
https://github.com/DreamHeader/LFCGzipUtility
2.下面讲述过程
3.切记 上传压缩的数据库文件的时候 不知道大佬们做没做过。 终于搞定了。。 以后大家 记得 用表单形式上传数据库压缩文件的时候 不要把数据库直接压缩拿着压缩后的zip文件再 转成data去上传 会出问题,要先把数据库转成data 再拿着这个data进行数据流压缩 然后 AFN 表单上传 就可以了
4.我之前一直用SSZipArchive 去先压缩数据库 再转成data 这都是错误 数据库不能这样搞 会把数据库损坏
5.下载文件的代码
特殊:这里又发现了一个问题 就下载以后的数据库文件 你无论怎么样
我这边本地要维护一个数据库记录用户的信息 然后有上传文件功能 我上传确定是成功了, 然后现在有个问题是 我现在添加一些信息后 上传成功 这时候 如果我把APP删除了 我执行 下载的数据库文件是对的数据 然后 我如果是重新启动APP下载的数据库文件的数据 我测试了下 把他创建到一个另外的路径 我拉出来 发现数据是对的 但是写到那个本地的数据库后 就数据还是上一次的数据 最可笑的是 我执行了
NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL existed = [fileManager removeItemAtPath:ReaLDbFilePath error:nil];
删除原来数据库文件的方法
最后解决是
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
[fileManagerremoveItemAtPath:cachePatherror:nil];
这样做的原因在与: