2014-10-26 38 views
1

我想從磁盤獲取PFFile。我在這裏瞭解到Parse緩存所有PFFiles,因爲它們被下載。我現在想知道如何檢索緩存。什麼是正確的道路。我使用的路徑建議here如何從磁盤獲取PFFile?

NSString *path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0] stringByAppendingFormat:@"/Caches/Parse/PFFileCache/%@", pffile.name];

NSData *data = [[NSFileManager defaultManager] contentsAtPath:path]; 

數據始終是零。

我使用正確的路徑嗎? /Caches/Parse/PFFileCache/

+0

爲什麼不將文件數據保存在您所需的文件的所選位置? – Wain 2014-10-26 16:57:39

+0

因爲PFFile不包含數據。我仍然需要請求保存在解析服務器中的文件中的數據。我不是他們如何做的粉絲。 – KKendall 2014-10-27 00:07:17

+0

嘗試在保存文件並重現該路徑後,找出它們將緩存保存到的路徑。 – 2014-10-27 07:57:16

回答

4

從你對問題的描述你應該使用一個稍微不同的過程。最初使用PFFile接口,但隨後在文件中存儲url,以備日後需要訪問文件數據的情況。通過這種方式,您可以直接鏈接到文件數據,並且可以使用正常連接或會話進行下載。

如果您實際上並不需要PFFile來了解有關下載的任何信息,那麼使用REST接口可能更適合您。

另一種替代方法是將最初返回文件信息的請求發送給您,但指示API僅使用緩存的信息。這可以通過在PFQuery上設置cachePolicyCACHE_ONLY來完成。

0

我這個掙扎在斯威夫特了一段時間,發現這個線程,其幫助在這裏回答:

let fileURL: String = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)[0] + ("/Caches/Parse/PFFileCache/\(checkedRemoteAsset.name)") 

感謝您KKendall!