1

我目前正在开发一个原生 android 应用程序并尝试访问文档服务器上的一些图片。为了交流,我正在使用OpenCMIS图书馆。

我的目标是下载图片并将它们保存到设备的内部存储器或 SD 卡中。我的问题是,是否有可能将文件下载为压缩档案(例如 .zip)并在设备上解压缩?所以我不想单独下载很多文件,我想下载一个大文件。

OpenCMIS是有能力的吗?或者这取决于文档服务器?我正在使用 SAP Mobile Documents,并且知道我可以通过浏览器从 Web 界面以 .zip 格式下载整个文件夹,但我还没有发现在自定义 android 客户端中可以做到这一点。

任何提示或解释表示赞赏,在此先感谢!

4

1 回答 1

1

所以我得到了Florian Müller 的帮助

对于任何有兴趣的人,从原生 android 应用程序中的 SAP 移动文档服务器下载文件夹作为 .zip 存档的最终代码如下所示:

public void downloadAsZip(Session session, Folder folder, File destination){
    ContentStream zipStream = session.getContentStream(folder, "sap:zipRendition", null, null);
    InputStream inputStream = zipStream.getStream();

    try {
        File file = new File(destination, folder.getName()+".zip");
        FileOutputStream fileOutputStream = new FileOutputStream(file);

        byte[] buffer = new byte[1024];
        int bufferLength = 0;

        while ((bufferLength = inputStream.read(buffer)) > 0) {
            fileOutputStream.write(buffer, 0, bufferLength);
        }

        fileOutputStream.close();
        inputStream.close();
    }
    catch(IOException e){
        Log.e(TAG, "An error occurred: "+e.getMessage());
    }
}
于 2015-06-23T10:01:52.857 回答