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