ในบทความนี้เราจะพูดถึงวิธีถอดรหัส 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 ที่ระบุ