Java对图片Base64编码
package base64; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Scanner; import javax.imageio.ImageIO; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class imageToBase64 { static BASE64Encoder encoder = new sun.misc.BASE64Encoder(); static BASE64Decoder decoder = new sun.misc.BASE64Decoder(); public static void main(String[] args) { Scanner scanner = new Scanner(System.in) ; System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 欢迎使用W_Jp的Base64编码 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("输入图片地址:"); String path = scanner.next() ; if(!getImageBinary(path).equals("")) { System.out.printf("\n" + getImageBinary(path) + "\n\n"); System.out.printf("是否导出内容?(Y/N):"); String boo = scanner.next() ; if(boo.equals("Y") || boo.equals("y")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 1.导出现Base64编码到TXT文档 **\n"); System.out.printf("\t\t** 2.导出Base64解码后的png图片 **\n"); System.out.printf("\t\t** 3.同时操作以上两个 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("输入您的选择:"); boo = scanner.next() ; if(boo.equals("1")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 温馨提示:导出后文件名为wjp.txt **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("输入Base64编码的导出地址:"); String toTxtPath = scanner.next() ; if(base64StringToTxt(getImageBinary(path), toTxtPath).equals("success")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 导出成功 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } else if(boo.equals("2")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 温馨提示:导出后文件名为wjp.png **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("输入解码后图片的导出地址:"); String toImgPath = scanner.next() ; if(base64StringToImage(getImageBinary(path), toImgPath).equals("success")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 导出成功 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } else if(boo.equals("3")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 温馨提示:导出后文件名为wjp.txt/wjp.png **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("输入导出地址(两个文件都会在这个目录下):"); String toBothPath = scanner.next() ; base64StringToImage(getImageBinary(path), toBothPath); if(base64StringToTxt(getImageBinary(path), toBothPath).equals("success")){ System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 导出成功 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } else { System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 您输入的编号无效!!! 程序意外退出了!!! **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } else { System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } } static String getImageBinary(String path){ File f = new File(path); BufferedImage bi; try { bi = ImageIO.read(f); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bi, "jpg", baos); byte[] bytes = baos.toByteArray(); return encoder.encodeBuffer(bytes).trim(); } catch (IOException e) { // e.printStackTrace(); System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 您输入的地址无效!!! 程序意外退出了!!! **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } return "" ; } static String base64StringToImage(String base64String, String path){ try { byte[] bytes1 = decoder.decodeBuffer(base64String); ByteArrayInputStream bais = new ByteArrayInputStream(bytes1); BufferedImage bi1 =ImageIO.read(bais); File w2 = new File(path + "/wjp.png"); ImageIO.write(bi1, "jpg", w2); } catch (Exception e) { // e.printStackTrace(); System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 您输入的地址无效!!! 程序意外退出了!!! **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); return "err" ; } return "success" ; } static String base64StringToTxt(String base64String, String path){ File filename = new File(path + "/wjp.txt"); RandomAccessFile mm = null ; try { mm = new RandomAccessFile(filename,"rw"); try { mm.writeBytes(base64String); } catch (IOException e) { //e.printStackTrace(); System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 写入失败 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); return "err" ; } } catch (FileNotFoundException e) { //e.printStackTrace(); System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** 创建txt失败 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); return "err" ; } finally { try { if(mm!=null){ mm.close(); } } catch (IOException e) { //e.printStackTrace(); System.out.println(); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** RandomAccessFile关闭失败 **\n"); System.out.printf("\t\t*********************************************\n"); System.out.printf("\t\t** Thanks!!! **\n"); System.out.printf("\t\t↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\n"); } } return "success" ; } }
HTML对Base64解码
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title></title> <script type="text/javascript"> //hideElement() , showElement() function hideElement(id){ document.getElementById(id).style.display="none"; } function showElement(id){ document.getElementById(id).style.display=""; } function wjp(id){ if(id == 1){ var values = document.getElementById("code").value ; var str = "<span><img src=\"data:image/gif;base64," + values + "\"/></span><br />" ; showElement("div2") ; hideElement("div1") ; document.getElementById("insert").innerHTML = str; } if(id == 2){ showElement("div1") ; hideElement("div2") ; document.getElementById("code").value = "" ; } } </script> </head> <body> <center> <div id="div1"> <h2 style="color:red;">W_Jp Base64解码</h2> <textarea rows="20" cols="100" id="code"></textarea> <br /> <input type="button" value="转码" onclick="wjp(1)"/> <br /><br /><br /><br /><br /> </div> <div id="div2"> <h2 style="color:red;">W_Jp 给您的结果</h2> <label id="insert"></label> <input type="button" value="继续转码" onclick="wjp(2)"/> </div> </center> <script type="text/javascript"> showElement("div1") ; hideElement("div2") ; </script> </body> </html>
继续给大家一组测试数据,尝试用我的HTML代码试试,看看能不能显示出图片
/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAJoAMgDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rS2K aLpwCJzaoTlQf6VLPfwW3lfaJ7WLzZBFH5iqodz0UZ6k+lRWIH9k6eD2tlJFcX4m05obnT7jWTba tLf30OniKSApFbwyA7zEu8kSErneST0Axisbu+5r0O+81t4BWMe3lr/hUUV/BNPLBHNbPNAAZo1C Fo9wyu4dRkcjPWs7T4LnR7GRdR1Rbq2t/wDVzzR7JFjGT+8fdhiBj5sL0JOc1xvhzU7yHxU2sXsC w6d4lOy2LIVZDEMRB8naC6ZxgtuOMYFK77hoegHVLVXuEa5sw1soa4XKZhBG4F/7owM89qmgulni iliaGSKRdyuiqQw7EEDkGvLPiPpjXHiO3MxtpYrmxmED3G5PsrRAO7ExrucBQdoJb5mbjHBi8H6b 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 4f7zf98H/CiiijmYWP/Z
Java对图片Base64转码--HTML对Base64解码 [ Java加强版 ]
原文地址:http://blog.csdn.net/imwangjiping/article/details/39993821