java将base64编码字符串还原为字节数组

 /**     * 图片上传     * @param imgBase     * @return     */    @PostMapping("/upload")    public CommonResult upload(String imgBase){        byte[] b1 = null;        BASE64Decoder decoder = new BASE64Decoder();        try{            if (imgBase.indexOf("data:image/jpeg;base64,") != -1) {                b1 = decoder.decodeBuffer(imgBase.replaceAll("data:image/jpeg;base64,", ""));            } else {                if (imgBase.indexOf("data:image/png;base64,") != -1) {                    b1 = decoder.decodeBuffer(imgBase.replaceAll("data:image/png;base64,", ""));                } else {                    b1 = decoder.decodeBuffer(imgBase.replaceAll("data:image/jpg;base64,", ""));                }            }            for (int i = 0; i < b1.length; ++i) {                if (b1[i] < 0) {// 调整异常数据                    b1[i] += 256;                }            }        }catch(Exception e){            e.printStackTrace();        }        //添加图片url;        String name = UUID.randomUUID().toString().replace("_", "");        try {            String upload = new QiniuUploadUtil().upload(name, b1);            System.out.println("uploaduploadupload"+upload);            if(imgUrl==null){                imgUrl=new ArrayList<>();            }            imgUrl.add(upload);        } catch (Exception e) {            e.printStackTrace();        }        return CommonResult.success("1");    }}

原文地址:https://www.cnblogs.com/xiaofengshan/p/12584159.html

时间: 2024-10-17 01:50:21

java将base64编码字符串还原为字节数组的相关文章

java利用Base64编码和解码图片文件

1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.image

图片和base64编码字符串 互相转换,图片和byte数组互相转换

图片和base64编码字符串 互相转换 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; /** * @author lishupeng * @create 2017-05-06 下午 2:56 **/ public class Base64Test { public static void main(String[] args) { String strImg = GetImageSt

Base64编码字符串时数据量明显变大

那就是当把byte[]通过Convert.ToBase64String转换成Base64编码字符串时数据量明显变大 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需要编码的数据拆分成字节数组.以3个字节为一组.按顺序排列24位数据,再把这24位数据分成4组,即每组6位.再在每组的的最高位前补两个0凑足一个字节.这样就把一个3字节为一组的数据重新编码成了4个字节.当所要编码的数据的字节数不是3的整倍数,也就是说在分组时最后一组不够3个字节.这时在最后一组填充1到

将图片转化为base64编码字符串

pom依赖 <dependency> <groupId>org.ops4j.base</groupId> <artifactId>ops4j-base-net</artifactId> <version>1.5.0</version> </dependency> import org.ops4j.net.Base64Encoder; /** * 根据图片地址转换为base64编码字符串 * @param img

java处理图片base64编码的相互转换

哈喽大家好我是刘德华. 今天项目优化了一下上传头像的功能.采用imagecropper插件完成裁剪图片的效果. 这个插件裁剪完的图片都是base64加密的字符串,上传头像也就涉及到了如何把加密的字符串转换成图片的问题. 以下是代码: /** * @Description: 将base64编码字符串转换为图片 * @Author: * @CreateTime: * @param imgStr base64编码字符串 * @param path 图片路径-具体到文件 * @return */ pub

JavaSE8基础 String getBytes 将不含中文的字符串转换成字节数组

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; import java.nio.charset.Charset; public class Demo01 { public static void main(String[] args) { String str = "[email protected]#$&qu

使用Apache的Hex类实现Hex(16进制字符串和)和字节数组的互转

包名称:org.apache.commons.codec.binary 类名称:org.apache.commons.codec.binary.Hex 1.字节数组(byte[])转为十六进制(Hex)字符串 public static String byte2hex(byte[] input) { return Hex.encodeHexString(input); } 2.十六进制字符串(Hex)转字节数字(byte[]) public static byte[] hex2byte(Stri

JAVA实现Base64编码的三种方式

摘要: Javabase64编码的三种方式   有如下三种方式: 方式一:commons-codec.jar Java代码  1. String base64String="whuang123"; 2. byte[] result = Base64. Javabase64编码的三种方式 有如下三种方式: 方式一:commons-codec.jar Java代码 1. String base64String="whuang123"; 2. byte[] result

C# 中字符串string和字节数组byte[]的转换

string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: string str = System.Text.Encoding.Default.GetString ( byteArray ); string转ASCII byte[]: byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str ); AS