首页 > 代码库 > 接口上传base64编码图片
接口上传base64编码图片
1 package com.*.util; 2 3 import java.io.FileInputStream; 4 5 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.OutputStream;10 import java.util.Date;11 12 import Decoder.BASE64Decoder;13 import Decoder.BASE64Encoder;14 15 public class Base64ImgUtils {16 public static void main(String[] args) {17 String strImg = GetImageStr();18 System.out.println(strImg); 19 GenerateImage(strImg);20 }21 22 /**23 * 图片转化成base64字符串24 * GetImageStr25 * 2016年8月31日下午3:37:40 26 * @param27 * @return28 */29 public static String GetImageStr() {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理30 String imgFile = "D:/486e407765c21edd9cbffca69717efb1.jpg";// 待处理的图片31 InputStream in = null;32 byte[] data = http://www.mamicode.com/null;33 // 读取图片字节数组34 try {35 in = new FileInputStream(imgFile);36 data = http://www.mamicode.com/new byte[in.available()];37 in.read(data);38 in.close();39 } catch (IOException e) {40 e.printStackTrace();41 }42 // 对字节数组Base64编码43 BASE64Encoder encoder = new BASE64Encoder();44 String imghead="data:image/jpg;base64,";//头45 return imghead+encoder.encode(data);// 返回Base64编码过的字节数组字符串46 }47 48 /**49 * base64字符串转化成图片50 * GenerateImage51 * 2016年8月31日下午3:33:12 52 * @param53 * @return54 */55 public static String GenerateImage(String imgStr) { // 对字节数组字符串进行Base64解码并生成图片56 if (imgStr == null){ // 图像数据为空57 return "";58 }59 String classPath = new Base64ImgUtils().getClass().getResource("").getPath();60 String path = classPath.substring(0, classPath.indexOf("WEB-INF"));61 System.out.println(path);62 BASE64Decoder decoder = new BASE64Decoder();63 try {64 String imghead=imgStr.substring(0,imgStr.indexOf(";")).replace("data:image/", ".");//获取图片扩展名65 imgStr=imgStr.substring(imgStr.indexOf(",")+1);//图片内容66 67 // Base64解码68 byte[] b = decoder.decodeBuffer(imgStr);69 for (int i = 0; i < b.length; ++i) {70 if (b[i] < 0) {// 调整异常数据71 b[i] += 256;72 }73 }74 // 生成jpeg图片75 String filename="upload/"+new Date().getTime()+imghead;//名称76 String imgFilePath =path+"/"+filename;// 新生成的图片77 OutputStream out = new FileOutputStream(imgFilePath);78 out.write(b);79 out.flush();80 out.close();81 return filename;82 } catch (Exception e) {83 return "";84 }85 }86 87 88 }
接口上传base64编码图片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。