簡體   English   中英

DropNet返回根文件夾的元數據,未請求文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM