1.首先 需要導(dǎo)入 大神寫好的 第三方的 數(shù)據(jù)流的壓縮庫
https://github.com/DreamHeader/LFCGzipUtility

2.下面講述過程





3.切記 上傳壓縮的數(shù)據(jù)庫文件的時候? 不知道大佬們做沒做過。 終于搞定了。。 以后大家 記得 用表單形式上傳數(shù)據(jù)庫壓縮文件的時候 不要把數(shù)據(jù)庫直接壓縮拿著壓縮后的zip文件再 轉(zhuǎn)成data去上傳 會出問題,要先把數(shù)據(jù)庫轉(zhuǎn)成data 再拿著這個data進(jìn)行數(shù)據(jù)流壓縮 然后 AFN 表單上傳 就可以了
4.我之前一直用SSZipArchive 去先壓縮數(shù)據(jù)庫 再轉(zhuǎn)成data? 這都是錯誤? 數(shù)據(jù)庫不能這樣搞 會把數(shù)據(jù)庫損壞
5.下載文件的代碼


特殊:這里又發(fā)現(xiàn)了一個問題 就下載以后的數(shù)據(jù)庫文件 你無論怎么樣
我這邊本地要維護(hù)一個數(shù)據(jù)庫記錄用戶的信息 然后有上傳文件功能 我上傳確定是成功了, 然后現(xiàn)在有個問題是 我現(xiàn)在添加一些信息后 上傳成功 這時候 如果我把APP刪除了 我執(zhí)行 下載的數(shù)據(jù)庫文件是對的數(shù)據(jù) 然后 我如果是重新啟動APP下載的數(shù)據(jù)庫文件的數(shù)據(jù) 我測試了下 把他創(chuàng)建到一個另外的路徑 我拉出來 發(fā)現(xiàn)數(shù)據(jù)是對的 但是寫到那個本地的數(shù)據(jù)庫后 就數(shù)據(jù)還是上一次的數(shù)據(jù) 最可笑的是 我執(zhí)行了
? ? ? ? ? ? ? NSFileManager *fileManager = [NSFileManager defaultManager];
? ? ? ? ? ? BOOL existed = [fileManager removeItemAtPath:ReaLDbFilePath error:nil];
刪除原來數(shù)據(jù)庫文件的方法
最后解決是
?? NSFileManager *fileManager = [NSFileManager defaultManager];
?NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
? ? ? ? ? ? ? ? [fileManagerremoveItemAtPath:cachePatherror:nil];
這樣做的原因在與:
