2015-12-11 92 views
2

我正在使用Swift中的iOS項目,它使用Dropbox API將文本文件上傳到Dropbox以及從Dropbox加載和讀取它們。然而,當我嘗試使用我的DBRestClient使用以下行加載一個文件:iOS中的錯誤:「您沒有權限」

restClient.loadFile("/data/" + yearStr + "/" + yearMonthStr + "/" + fullStr + ".txt", atRev: nil, intoPath: "temp2.txt") 

我在控制檯看到以下錯誤信息:

DropboxSDK:錯誤使得請求/ 1 /文件/sandbox/data/15/15_12/15_12_10.txt - (404)路徑是directory`

我真的不知道這意味着什麼,因爲參與呼叫既不路徑看起來像一個目錄給我。我搜索了這個錯誤消息,但我似乎無法在網上找到它,我不知道還有什麼可能導致它,因爲註釋掉這行防止出現錯誤,並且相同的文件路徑工作正常其他調用不涉及加載文件。我錯過了loadFile()的工作原理嗎?

更新:我通過刪除具有該文件路徑的目錄來修復前面的錯誤,使其選擇正確的文件。不過,我現在收到以下錯誤,而不是:

DropboxSDK: error making request to /1/files/sandbox/data/15/15_12/15_12_10.txt - (513) Error Domain=NSCocoaErrorDomain Code=513 "The file couldn’t be saved because you don’t have permission." UserInfo={path=/data/15/15_12/15_12_10.txt, destinationPath=temp2.txt}

我不知道它是指:我沒有我的手機上的目的地許可,或對Dropbox的文件?我正在查找這個錯誤消息,但我還沒有找到任何東西,所以幫助將不勝感激。

回答

1

按照documentation,代碼513對應於:

NSFileWriteNoPermissionError = 513,

這似乎與您收到錯誤消息,並且應該是指本地目標路徑,而你的情況是:

temp2.​​txt

您應該檢查是否有權寫入該本地路徑,並且它是一個有效的路徑,例如,它應該以'/'開頭嗎? (或者,也許你應該寫信給NSTemporaryDirectory或類似的東西。)