в этой статье мы обсудим, как декодировать Base64 в изображение с сохранением качества изображения.
для преобразования из Base64 в массив байтов мы используем метод parseBase64Binary класса DatatypeConverter.
byte[] data = DatatypeConverter.parseBase64Binary(base64);
объявление каталога хранения декодированных файлов base64 и указание имени файла, декодированного base64.
String path = filePath + "/" + "nameFile.png";
вы можете настроить область хранения файлов и декодированное в Base64 имя файла по своему усмотрению.
File file = new File(path);
Создает новый экземпляр Файла путем преобразования заданной строки пути в абстрактный путь. Если данная строка является пустой строкой, то результатом является пустой абстрактный путь.
ImageIO.write() по умолчанию сжимает изображение. сжатое изображение имеет меньший размер, но иногда выглядит странно. Я использую BufferedOutputStream для хранения данных массива байтов, это сохранит исходный размер изображения.
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
Создает новый буферизованный поток вывода для записи данных в указанный базовый поток вывода.
outputStream.write(data);
Создает поток вывода файла для записи в файл, представленный указанным объектом File.