使用 Dropbox SDK 检查文件夹是否存在

Check Existence of a folder using Dropbox SDK

在 Dropbox SDK 2.0 中,有没有办法检查文件夹是否存在?还是我们使用暴力法列出文件夹然后扫描列表?

您可以使用 /2/files/get_metadata 端点检查给定路径中的现有文件夹。如果元数据存在,它将 return 元数据存在,否则将出现 path.not_found 错误。

您没有提到您指的是哪个 SDK,但是例如,在 Dropbox API v2 Java SDK 中,它对应于 DbxUserFilesRequests.getMetadata 方法。

这是完整的Java代码,用于检查文件夹是否存在并在文件夹不存在时创建

DbxClientV2 dbxClient;
        try
            {           
                dbxClient.files().getMetadata("/MyFolder");
            }
        catch (GetMetadataErrorException e)
            {
                // TODO Auto-generated catch block
                if (e.errorValue.isPath())
                {
                    LookupError le = e.errorValue.getPathValue();
                    if (le.isNotFound())
                    {
                        System.out.println("Path doesn't exist on Dropbox: ");
                        try
                        {
                            dbxClient.files().createFolder("/MyFolder");
                        }
                        catch (CreateFolderErrorException e1)
                        {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                        catch (DbxException e1)
                        {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    }
                }
            }