в этой статье мы обсудим, как декодировать 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.