java - 使用box java sdk下载项目而不知道它是文件还是文件夹

标签 java box-api box

通过存储在盒子上的项目 ID,如果它是文件,您可以下载它;如果它是文件夹,您可以下载其内容。无论哪种方式,您似乎都需要知道要下载什么类型的东西才能访问它,执行 BoxFile file = new BoxFile(api, id);BoxFolderfolder = new BoxFolder(api, id); 在处理实际下载之前。

我希望能够做类似的事情

BoxItem boxItem = new BoxItem(api, id);
if (boxItem instanceof BoxFile) {
    // download file
} else if (boxItem instanceof BoxFolder) {
    // download all files in folder
}

有点像the example in the docs of downloading a folder's contents 。但是,在这种情况下,ID 是特定文件夹的 ID,而我的 ID 是根文件夹中的文件夹或文件的 ID,并且我不想循环遍历根文件夹的所有内容。而且,无论如何,BoxItem 无法实例化。

如何仅通过项目 ID 提前判断我正在下载文件还是文件夹?如果没有,是否有办法下载该项目?

最佳答案

我不认为 API 支持下载整个文件夹(因此 SDK 也不支持)。最接近的方法是下载该文件夹的所有文件。这就是为什么 BoxFiledownload() 方法,但 BoxFolderBoxItem 没有。

至于检查 ID 是否对应于文件或文件夹 - 没有办法在不尝试发出 API 请求的情况下判断。例如,您可以尝试执行 new BoxFile(api, id).getInfo() 并查看它是否返回 404。

关于java - 使用box java sdk下载项目而不知道它是文件还是文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508151/

相关文章:

java - 如何解析从 list 中的 Intent 过滤器接收到的内容数据?

javax.crypto.BadPaddingException - 使用 Salt 和 IV 通过 AES256 进行解密

java - JavaFX WebView 中单选按钮的大小调整错误

java - 如何使用 box.com java sdk 自动进行身份验证

css - 不确定如何使 CSS 框定位相对于调整大小/缩放

java - 调用定义中缺少参数错误 : String

.net - Box API 2.0 下载文件

java - Box API Java SDK 搜索功能返回有限号。文件数量

Android:来自 Android Box Remote 的按键事件

azure - 在 Azure Functions 上使用 Box SDK 时出错