Код ниже должен конвертировать изображение в его строку Base64.Это работает, но для TIF, только первая «страница» конвертируется, а последующие страницы / части отсутствуют.
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = null;
File file = new File("newtif.tif");
try {
FileOutputStream fop;
decodedBytes = new BASE64Decoder().decodeBuffer(imageString);
fop = new FileOutputStream(file);
fop.write(decodedBytes);
fop.flush();
fop.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Я получил imageString
из фактического файла с многостраничным TIF и преобразовал его в Base64используя:
BufferedImage image = ImageIO.read(new File(fileLocation));
BufferedImage newImg;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ImageIO.write(image, "tif", bos);
byte[] imageBytes = bos.toByteArray();
BASE64Encoder encoder = new BASE64Encoder();
imageString = encoder.encode(imageBytes);
Заранее благодарю за помощь!