[英]DropNet returning metadata for root folder not folder requested
問題:我需要的文件夾的GetMetaData返回根文件夾元數據。
背景:我正在嘗試編寫一個小型應用程序以下載太大的文件夾(數千個文件和多個GB),無法從Dropbox Web界面下載。 它嘗試遍歷給定目錄的子目錄,下載所有文件。
實際發生的是一個無限循環。 該應用程序(錯誤地)獲取根文件夾元數據,遍歷目錄,直到到達我需要的目錄,然后開始遍歷根目錄,因為它是它接收到的元數據集。
目錄名稱“ / Apps”可以正常工作,但我不需要。 文件夾名稱帶有下划線,並且混合使用大小寫字母(無其他字符),類似於“ / XYX_DataFolder”。
我的應用程序具有“ Full Dropbox”權限,並且我使用了獲取api密鑰的帳戶進行了授權。
更改目錄名稱不是我的選擇。
我正在使用VS2012,並且通過NuGet添加了DropNet。
歡迎就此問題提供任何意見。 謝謝!
編輯:
運行時版本v4.0.30319版本1.10.23.0
如在Visual Studio屬性頁中所報告以供參考。
我授權可以正常工作,然后使用下面的代碼。 某些目錄工作正常,但是當我嘗試在上述文件夾上獲取GetMetaData時,我從根文件夾獲取元數據。
private void DownloadDirectory( string serverDirectory, string clientDirectory ) {
var meta = m_client.GetMetaData( serverDirectory, false, false );
foreach ( var item in meta.Contents ) {
var destinationPath = Path.Combine( clientDirectory, item.Name );
if ( item.Is_Dir && item.Path == m_serverRootDirectory ) {
DownloadDirectory( item.Path, destinationPath );
}
else {
//var fileBytes = m_client.GetFile( item.Path );
//File.WriteAllBytes( destinationPath, fileBytes );
//textBox1.Text += Environment.NewLine + destinationPath;
}
}
}
好的,所以我下載了源代碼並立即發現了我的問題。 我在GetMetaData調用中缺少哈希的null,因此它使用了錯誤的重載。 抱歉浪費您的時間...感謝您的回復!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.