0
我試圖保存通過瀏覽器使用Spring和JAI ImageIO上傳的tiff圖像。我可以使用下面的代碼保存圖像,但問題是保存的圖像沒有上傳之前所具有的圖層(tiff圖像組成的圖層)。保存多層TIFF圖像而不丟失Java中的圖層信息
是否有任何其他參數可確保保存的圖像也具有圖層?
private void saveTiffImage(byte[] bytes, String uuid) throws Exception {
SeekableStream stream = new ByteArraySeekableStream(bytes);
String[] names = ImageCodec.getDecoderNames(stream);
ImageDecoder dec =
ImageCodec.createImageDecoder(names[0], stream, null);
RenderedImage im = dec.decodeAsRenderedImage();
String fileName = uuid + ".tif";
com.sun.media.jai.codec.TIFFEncodeParam params = new com.sun.media.jai.codec.TIFFEncodeParam();
params.setCompression(com.sun.media.jai.codec.TIFFEncodeParam.COMPRESSION_PACKBITS);
FileOutputStream os = new FileOutputStream(IMG_LOCATION + fileName);
javax.media.jai.JAI.create("filestore", im, IMG_LOCATION + fileName, "TIFF", params);
os.flush();
os.close();
}