0

我正在编写一个使用 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);
    }
}
4

1 回答 1

3

我不熟悉 dropnet,但是查看源代码,您似乎应该能够通过使用对象的GetMetaData()方法来做到这一点_client。此方法返回一个MetaData对象。

例子:

//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
}
于 2013-11-29T04:06:45.553 回答