1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > base64格式图片转换成二进制流并生成图片文件

base64格式图片转换成二进制流并生成图片文件

时间:2024-05-23 22:43:33

相关推荐

base64格式图片转换成二进制流并生成图片文件

1、base64格式图片转换成二进制流并生成图片文件

/*** 将base64格式的字符串转换成二进制流,并转换成图片*/public boolean changeBase64ToImage(String base64String){//base64格式字符串为空,返回falseif(base64String == null){return false;}BASE64Decoder decoder =new BASE64Decoder();try {//解码过程,即将base64字符串转换成二进制流byte[] imageByte=decoder.decodeBuffer(base64String);//生成图片路径和文件名String pathString ="F://base64图片.jpg";OutputStream out =new FileOutputStream(pathString);out.write(imageByte);/** 使用流时,都会有一个缓冲区,按一种它认为比较高效的方法来发数据:* 把要发的数据先放到缓冲区,缓冲区放满以后再一次性发过去,而不是分开一次一次地发.* 而flush()表示强制将缓冲区中的数据发送出去,不必等到缓冲区满.* 所以如果在用流的时候,没有用flush()这个方法,很多情况下会出* 现流的另一边读不到数据的问题,特别是在数据特别小的情况下.*/out.flush();out.close();return true;} catch (IOException e) {// TODO Auto-generated catch blockreturn false;}}

2、图片文件转换成二进制流并进行base64编码

public String changeImageTobase64(String imageFile){InputStream in=null;byte[] imageByte=null;if(imageFile==null||"".equals(imageFile)){imageFile="F://base64图片.jpg";//设置默认图片}try {in=new FileInputStream(imageFile);//通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名 name 指定。int size=in.available();// 返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。imageByte = new byte[size];in.read(imageByte);//从此输入流中将最多 size 个字节的数据读入一个 imageByte字节 数组中。in.close();//关闭此文件输入流并释放与此流有关的所有系统资源。} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}BASE64Encoder encoder = new BASE64Encoder();// 对字节数组转换成Base64字符串String base64String =encoder.encode(imageByte);return base64String;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。