C# 如何使用DropNet检查DropBox中是否存在文件夹

C# 如何使用DropNet检查DropBox中是否存在文件夹,c#,dropbox,dropnet,C#,Dropbox,Dropnet,我正在编写一个应用程序,通过使用DropNet API与dropbox交互。我想检查文件夹是否存在或不在dropbox上,以便我将创建一个文件夹,然后在上面上载文件。一切正常,但如果我的文件夹存在,它抛出异常。像这样: if (isAccessToken) { byte[] bytes = File.ReadAllBytes(fileName); try { string dropboxFolder = "/Public/DropboxManagement

我正在编写一个应用程序,通过使用DropNet API与dropbox交互。我想检查文件夹是否存在或不在dropbox上,以便我将创建一个文件夹,然后在上面上载文件。一切正常,但如果我的文件夹存在,它抛出异常。像这样:

if (isAccessToken)
{
    byte[] bytes = File.ReadAllBytes(fileName);
    try
    {
        string dropboxFolder = "/Public/DropboxManagement/Logs" + folder;

        // I want to check if the dropboxFolder is exist here

        _client.CreateFolder(dropboxFolder); 

        var upload = _client.UploadFile(dropboxFolder, fileName, bytes);
    }
    catch (DropNet.Exceptions.DropboxException ex) {
        MessageBox.Show(ex.Response.Content);
    }
}

我不熟悉dropnet,但看看源代码,您应该可以使用
\u客户端
对象的方法来实现这一点。此方法返回一个对象

例如:

//gets contents at requested path
var metaData = _client.GetMetaData("/Public/DropboxManagement/Logs");
//without knowing how this API works, Path may be a full path and therefore need to check for "/Public/DropboxManagement/Logs" + folder
if (metaData.Contents.Any(c => c.Is_Dir && c.Path == folder)
{
     //folder exists
}

我不熟悉dropnet,但看看源代码,您应该可以使用
\u客户端
对象的方法来实现这一点。此方法返回一个对象

例如:

//gets contents at requested path
var metaData = _client.GetMetaData("/Public/DropboxManagement/Logs");
//without knowing how this API works, Path may be a full path and therefore need to check for "/Public/DropboxManagement/Logs" + folder
if (metaData.Contents.Any(c => c.Is_Dir && c.Path == folder)
{
     //folder exists
}

我不熟悉dropnet,但看看源代码,您应该可以使用
\u客户端
对象的方法来实现这一点。此方法返回一个对象

例如:

//gets contents at requested path
var metaData = _client.GetMetaData("/Public/DropboxManagement/Logs");
//without knowing how this API works, Path may be a full path and therefore need to check for "/Public/DropboxManagement/Logs" + folder
if (metaData.Contents.Any(c => c.Is_Dir && c.Path == folder)
{
     //folder exists
}

我不熟悉dropnet,但看看源代码,您应该可以使用
\u客户端
对象的方法来实现这一点。此方法返回一个对象

例如:

//gets contents at requested path
var metaData = _client.GetMetaData("/Public/DropboxManagement/Logs");
//without knowing how this API works, Path may be a full path and therefore need to check for "/Public/DropboxManagement/Logs" + folder
if (metaData.Contents.Any(c => c.Is_Dir && c.Path == folder)
{
     //folder exists
}

非常感谢你的帮助!我知道了。顺便说一下,你可能根本不需要创建文件夹。在Dropbox中写入文件时,会隐式创建文件夹。(因此,如果您编写一个文件
/Public/DropboxManagement/Logs/hello.txt
,必要时将创建文件夹
/Public/DropboxManagement/Logs
)。非常感谢您的帮助!我知道了。顺便说一下,你可能根本不需要创建文件夹。在Dropbox中写入文件时,会隐式创建文件夹。(因此,如果您编写一个文件
/Public/DropboxManagement/Logs/hello.txt
,必要时将创建文件夹
/Public/DropboxManagement/Logs
)。非常感谢您的帮助!我知道了。顺便说一下,你可能根本不需要创建文件夹。在Dropbox中写入文件时,会隐式创建文件夹。(因此,如果您编写一个文件
/Public/DropboxManagement/Logs/hello.txt
,必要时将创建文件夹
/Public/DropboxManagement/Logs
)。非常感谢您的帮助!我知道了。顺便说一下,你可能根本不需要创建文件夹。在Dropbox中写入文件时,会隐式创建文件夹。(因此,如果您编写一个文件
/Public/DropboxManagement/Logs/hello.txt
,必要时将创建文件夹
/Public/DropboxManagement/Logs
。)