一口一个BUG 2020-04-09 14:12 采纳率: 0%
浏览 205

JAVA下载压缩,图片视频等相关文件是存在数据库里的,不能再服务器上下载临时文件的下载怎么做?

1,文件信息是存在数据库中(二进制形式),因为有视频等文件,所以不能先下载到服务器上在进行压缩处理(太大了,很可能有几个G)
2,一个案件有多个图片视频信息,用流的方式处理时,如何处理多个案件,得到的结果一个压缩包,解压后里面有多个文件夹(一个文件夹就是一个案件的相关资源),每个文件夹下有多个视频图片信息。
小弟初了解下载压缩这方面,一知半解,可能问题描述的也不是很清楚,欢迎大佬指教

3.这个方法时处理多个图片信息到一个文件夹中,入参是byte。

 /**
     * 将文件转为ByteArrayOutputStream后打包成zip
     * @param zipOutputStream
     * @param outputStreamMap Map<fileName, ByteArrayOutputStream>
     */
    private void compressFileToZipStream(ZipOutputStream zipOutputStream,Map<String, byte[]> outputStreamMap) {
        byte[] buf = new byte[1024];
        try {
            for (String key : outputStreamMap.keySet()) {
                byte[] content = outputStreamMap.get(key);
                ByteArrayInputStream is = new ByteArrayInputStream(content);
                BufferedInputStream bis = new BufferedInputStream(is);
                zipOutputStream.putNextEntry(new ZipEntry(key));

                int len;
                while ((len=bis.read(buf)) > 0) {
                    zipOutputStream.write(buf, 0, len);
                }
                zipOutputStream.closeEntry();
                bis.close();
                is.close();
            }
        }catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (zipOutputStream != null) {
                try {
                    zipOutputStream.close();
                }catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }
    }
  • 写回答

1条回答 默认 最新

  • 我的浪漫与极端 2020-04-09 22:23
    关注

    上一个阿里云的oss吧 简单又方便

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题