DropNet 返回根文件夹的元数据而不是请求的文件夹
DropNet returning metadata for root folder not folder requested
问题:GetMetaData 获取我需要的文件夹 returns 根文件夹元数据。
背景:
我正在尝试编写一个小应用程序来下载一个太大的文件夹(数千个文件和多个 GB),无法从 Dropbox Web 界面下载。它尝试遍历给定目录的子目录,下载所有文件。
实际发生的是一个无限循环。该应用程序(错误地)获取根文件夹元数据,遍历目录直到它到达我需要的目录,然后开始处理根目录,因为这是它接收到的元数据集。
目录名称“/Apps”可以正常工作,但我需要的那个不行。文件夹名称带有下划线和大小写字母混合(无其他字符),类似于“/XYX_DataFolder”。
我的应用程序具有 "Full Dropbox" 权限,我使用获得 api 密钥的帐户授权。
我无法更改目录名称。
我使用的是 VS2012,DropNet 是通过 NuGet 添加的。
欢迎就此问题提出任何意见。谢谢!
编辑:
运行时版本 v4.0.30319
版本 1.10.23.0
如 Visual Studio 属性页中所报告以供参考。
我授权哪个工作正常,然后使用下面的代码。有些目录工作正常,但是当我尝试在上述文件夹上获取元数据时,我从根文件夹中获取了元数据。
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 调用中缺少散列的空值,因此它使用了错误的重载。抱歉浪费您的时间...感谢您的回复!
问题:GetMetaData 获取我需要的文件夹 returns 根文件夹元数据。
背景: 我正在尝试编写一个小应用程序来下载一个太大的文件夹(数千个文件和多个 GB),无法从 Dropbox Web 界面下载。它尝试遍历给定目录的子目录,下载所有文件。
实际发生的是一个无限循环。该应用程序(错误地)获取根文件夹元数据,遍历目录直到它到达我需要的目录,然后开始处理根目录,因为这是它接收到的元数据集。
目录名称“/Apps”可以正常工作,但我需要的那个不行。文件夹名称带有下划线和大小写字母混合(无其他字符),类似于“/XYX_DataFolder”。
我的应用程序具有 "Full Dropbox" 权限,我使用获得 api 密钥的帐户授权。
我无法更改目录名称。
我使用的是 VS2012,DropNet 是通过 NuGet 添加的。
欢迎就此问题提出任何意见。谢谢!
编辑:
运行时版本 v4.0.30319 版本 1.10.23.0
如 Visual Studio 属性页中所报告以供参考。
我授权哪个工作正常,然后使用下面的代码。有些目录工作正常,但是当我尝试在上述文件夹上获取元数据时,我从根文件夹中获取了元数据。
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 调用中缺少散列的空值,因此它使用了错误的重载。抱歉浪费您的时间...感谢您的回复!