ユーザーが大きなファイルを私のWebサイトにアップロードし、そのファイルをgzipで圧縮してBLOBに保存したいと考えています。したがって、非圧縮のInputStreamがあり、blobはInputStreamを必要としています。GZIPOutputStreamを使用してInputStreamをOutputstreamに圧縮する方法を知っていますが、gzipで圧縮されたOutputStreamからblobに必要なInputStreamに戻すにはどうすればよいですか。
私が見つけることができる唯一の方法は、ByteArrayOutputStreamを使用してから、toByteArrayを使用して新しいInputStreamを作成することです。しかし、それは私がメモリにファイルの完全なコピーを持っていることを意味します。また、JDBCドライバーの実装がストリームをbyte []に変換したとしても、メモリに2つのコピーがあるので、驚くことではありません。