java上传图片转成Base64编码保存,在转换回图片

图片转Base64

直接上代码

private String getImageBase64(MultipartFile multipartFile) {
        try {
            BASE64Encoder encoder = new BASE64Encoder();
            // 通过base64来转化图片
            String imageData= encoder.encode(multipartFile.getBytes());
            imageData= "data:image/jpg;base64," + data;
            return imageData;
        } catch (IOException e) {
            logger.warn(e.getMessage());
        }
        return null;
    }

Base64转回图片

//删除声明,保留编码
 if(imageData.indexOf("data:image/jpg;base64,")!=-1) {
     imageData = imageData.substring(imageData.indexOf("data:image/jpg;base64,") + 22);
     }
     //base64转换成字节
     b = decoder.decodeBuffer(imageData);
     for (int i1 = 0; i1 < b.length; ++i1) {
         if (b[i1] < 0) {// 调整异常数据
             b[i1] += 256;
         }
     }
     //创建新的文件,并设置成输出流,在将字节写入,最后关闭流
     String fileName = "C:/img/newImage.jpg";
     //判断文件夹是否存在,不存在就新建
     java.io.File directoryFile=new java.io.File("C:/img");
     if(!directoryFile.isDirectory() && !directoryFile.exists()){
         directoryFile.mkdirs();
     }      
     OutputStream out = null;
     try{
         out = new FileOutputStream(fileName);
         out.write(b);
     }catch (Exception e){
         e.printStackTrace();
     }finally {
         if(out==null) continue;
         out.flush();
         out.close();
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值