一个用户上传了一个大文件到我的网站,我想将该文件gzip压缩并存储到blob中。因此,我有一个未压缩的InputStream和blob需要一个InputStream。我知道如何使用GZIPOutputStream将InputStream压缩为Outputstream,但是如何从gzip'ed OutputStream返回blob所需的InputStream呢?
我找到的唯一方法涉及使用ByteArrayOutputStream,然后使用toByteArray创建新的InputStream。但这意味着我在内存中有整个文件的副本。如果JDBC驱动程序实现也将流转换为byte[],那么我将在内存中拥有两个副本,这不足为奇。
我找到的唯一方法涉及使用ByteArrayOutputStream,然后使用toByteArray创建新的InputStream。但这意味着我在内存中有整个文件的副本。如果JDBC驱动程序实现也将流转换为byte[],那么我将在内存中拥有两个副本,这不足为奇。