iOS--Document路徑下儲存資料的總結
獲取Document的路徑的方法有幾個,下面我來說一下我的做法?
// fileName就是儲存檔案的檔名
NSUserDefaults*userdefault = [NSUserDefaults standardUserDefaults];
//找到Documents檔案所在的路徑
NSArray*path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*filePath = [pathobjectAtIndex:0];
這個filePath就能獲取到Document的資料夾下了,之後再根據自己的需求,拼接不同的檔案路徑。
接下來便是關於儲存資料,不管是NSArray,NSDirectory,NSData,或者其他資料。
這些資料型別都是能夠儲存,儲存介面是[class writeToFile:(檔案路徑) atomically:YES];
獲取檔案也很簡單,NSArray---->arrayWithContentsOfFile
NSData---->dataWithContentsOfFile;NSDirectory---->directoryWithContentsOfFile
**********
以上都是耳熟能詳的,上網或者基本上書籍中都會提到的。
下面我來說一下我遇到的問題,我的專案需求是在拍照時,隨時上傳圖片,如果上傳圖片過程中出現網路中斷、不穩定、或者網速不給力,這樣導致上傳圖片失敗的,要求把失敗的圖片儲存本地,在網路穩定重新啟動應用時,遍歷路徑下的檔案,再次上傳圖片!!
原先以為比較簡單,上面的nsdata類的儲存獲取介面一調就完事,但是現實啪啪打臉。出現儲存檔案成功,我把多個檔案路徑放在NSArray中存入本地Document中。但是在應用重新啟動拿到檔案路徑,要獲取圖片資料時,NSFileManager檢測路徑下檔案根本不存在!
多次測試發現問題所在,那就是上述能獲取到Document資料夾的filePath每次都是在變化的,而我在儲存的路徑當時的完整路徑,如下?
/var/mobile/Containers/Data/Application/2BE22D43-4A6C-42EE-892F-107E508E6540/Documents/20170705145022007.jpg
其中2BE22D43-4A6C-42EE-892F-107E508E6540這段序列每次都在變化
遇到這樣儲存本地資料的問題,只把檔名也就是20170705145022007.jpg儲存在NSArray中,獲取資料時重新呼叫Document路徑拼接,這樣便能成功拿到資料!
相關文章
- Sqlserver資料庫儲存路徑的修改SQLServer資料庫
- CentOS修改Mariadb資料庫檔案儲存路徑CentOS資料庫
- mariadb-2-在centos中修改mariadb資料的儲存路徑CentOS
- 規模化執行容器時的最佳資料儲存路徑
- 微信資料夾儲存在什麼位置?如何修改儲存路徑
- 【Web總結】資源儲存Web
- 資料庫儲存選型經驗總結資料庫
- mysql資料庫安裝及預設儲存路徑修改方法MySql資料庫
- HBase 資料儲存結構
- 快速理解Android檔案儲存路徑Android
- 雲伺服器寶塔修改將預設資料儲存路徑到資料盤伺服器
- Dart SDK在Flutter SDK中的儲存路徑DartFlutter
- 怎麼看jupyter的檔案儲存路徑
- VSAN儲存結構解析+儲存資料恢復案例資料恢復
- 【資料結構——圖和圖的儲存結構】資料結構
- 怎麼設定spyder檔案的儲存路徑?
- win10中怎麼改變桌面資料夾儲存位置_win10移動更改桌面資料夾儲存路徑教程Win10
- 【PHP資料結構】圖的概念和儲存結構PHP資料結構
- 詳解資料庫儲存的資料結構LSM Tree資料庫資料結構
- MyRocks儲存引擎資料結構解析儲存引擎資料結構
- 資料儲存--檔案儲存
- 單細胞資料 儲存方式彙總
- mysql總結:索引,儲存引擎,大批量資料插入,事務,鎖MySql索引儲存引擎
- 值得儲存的 synchronized 關鍵字總結synchronized
- MySQL-07.InnoDB資料儲存結構MySql
- 資料庫內部儲存結構探索資料庫
- 海量非結構化資料儲存難題 ,杉巖資料物件儲存完美解決物件
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- Android中的資料儲存之檔案儲存Android
- 嵌入式中常見的儲存器總結(一)儲存器分類
- Excel 讀取圖片並獲取儲存路徑Excel
- 聚焦資料時代新儲存需求,浪潮儲存的新儲存之道
- 【儲存資料恢復】NetApp儲存誤刪資料夾的資料恢復案例資料恢復APP
- win10主題在哪個資料夾_win10主題儲存的路徑是什麼Win10
- 資料的儲存區域
- 有效儲存資料的方法
- 從一條資料說起——InnoDB儲存資料結構資料結構
- Prometheus時序資料庫-磁碟中的儲存結構Prometheus資料庫
- TiDB資料儲存TiDB