使用 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();
}
}
}
}
在 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();
}
}
}
}