jedis获取redis中二进制图片转Base64方式

网友投稿 575 2022-12-27

jedis获取redis中二进制图片转Base64方式

jedis获取redis中二进制图片转Base64方式

jedis获取redis图片 转成Base64

jedis存对象

/** * 序列化 * * @param object * @return */

public static byte[] serialize(Object object) {

ObjectOutputStream oos = null;

ByteArrayOutputStream baos = null;

try {

baos = new ByteArrayOutputStream();

ooswvpRm = new ObjectOutputStream(baos);

oos.writeObject(object);

byte[] bytes = baos.toByteArray();

return bytes;

} catch (Exception e) {

} return null;

}

/** * 反序列化 * * @param bytes * @return */

public static Object unserialize(byte[] bytes) {

ByteArrayInputStream bais = null;

try {

ObjectInputStream inputStream;

inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));

Object obj = inputStream.readObject();

} catch (Exception e) {

}

return null;

}

jedis获取redis里面的图片 转成Base64

/**

* 将字节转为对象

*/

public Object byte2Object(byte[] bytes) {

if (bytes == null || bytes.length == 0)

return null;

try {

ObjectInputStream inputStream;

inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));

Object obj = inputStream.readObject();

return obj;

} catch (IOException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

return null;

}

获取Base64字符

String imgBase64Str = Base64Utill.getImgBase64Str(

(byte[])(byte2Object(jedis.get(key.getBytes()))) );

转Base64工具类

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import javax.imageio.stream.FileImageInputStream;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

public class Base64Utill {

/**

*

* @Description 将字节转Base64文件

* @param data 要转换的字节

* @param fileType 文件类型

* @return Base64字符串

*/

public static String getImgBase64Str(byte[] data, String fileType) throws IOException {

String fileContentBase64 = null;

String base64Str = "data:" + fileType + ";base64,";

String content = null;

//对字节数组Base64编码

if (data == null || data.length == 0) {

return null;

}

BASE64Encoder encoder = new BASE64Encoder();

content = encoder.encode(data);

if (content == null || "".equals(content)) {

return null;

}

fileContentBase64 = base64Str + content;

return fileContentBase64;

}

/**

*

* @Description 将字节转Base64

* @param data 要转换的字节

* @return Base64字符串

*/

public static String getImgBase64Str(byte[] data) throws IOException {

String fileContentBase64 = null;

StrwvpRming content = null;

//对字节数组Base64编码

if (data == null || data.length == 0) {

return null;

}

BASE64Encoder encoder = new BASE64Encoder();

content = encoder.encode(data);

if (content == null || "".equals(content)) {

return null;

}

fileContentBase64=content;

return fileContentBase64;

}

/**

*

* @Description 将字节转Base64文件

* @param file 要转换的文件

* @param fileType 文件类型

* @return Base64字符串

*/

public static String getImgBase64Str(File file) {

String fileContentBase64 = null;

String content = null;

//将图片文件转化为字节数组字符串,并对其进行Base64编码处理

InputStream in = null;

//读取图片字节数组

try {

in = new FileInputStream(file);

byte[] data = new byte[in.available()];

in.read(data);

in.close();

//对字节数组Base64编码

if (data == null || data.length == 0) {

return null;

}

BASE64Encoder encoder = new BASE64Encoder();

content = encoder.encode(data);

if (content == null || "".equals(content)) {

return null;

}

return encoder.encode(data);

} catch (IOException e) {

e.printStackTrace();

} finally {

if (in != null) {

try {

in.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

return fileContentBase64;

}

/**

*

* @Description 将字节转Base64文件

* @param file 要转换的文件

* @param fileType 文件类型

* @return Base64字符串

*/

public static String getImgBase64Str(File file, String fileType) throws IOException {

String fileContentBase64 = null;

String base64Str = "data:" + fileType + ";base64,";

String content = null;

//将图片文件转化为字节数组字符串,并对其进行Base64编码处理

InputStream in = null;

//读取图片字节数组

try {

in = new FileInputStream(file);

byte[] data = new byte[in.available()];

in.read(data);

in.close();

//对字节数组Base64编码

if (data == null || data.length == 0) {

return null;

}

BASE64Encoder encoder = new BASE64Encoder();

content = encoder.encode(data);

if (content == null || "".equals(content)) {

return null;

}

fileContentBase64 = base64Str + content;

} catch (IOException e) {

e.printStackTrace();

} finally {

if (in != null) {

in.close();

}

}

return fileContentBase64;

}

/**

*

* @Description base64转字节

* @param base64Str 字符串

* @return byte[]

*/

public static byte[] base64String2Byte(String base64Str){

BASE64Decoder decoder = new BASE64Decoder();

byte[] b = null;

try {

b = decoder.decodeBuffer(base64Str);

for (int i = 0; i < b.length; ++i) {

if (b[i] < 0) {

b[i] += 256;

}

}

} catch (IOException e) {

e.printStackTrace();

}

return b;

}

/**

* 将图片转换成Base64编码

* @param imgFile 待处理图片

* @return

*/

public static String getImgBase64Str(String imgFile) {

// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理

InputStream in = null;

byte[] data = null;

// 读取图片字节数组

try {

in = new FileInputStream(imgFile);

data = new byte[in.available()];

in.read(data);

in.close();

} catch (IOException e) {

e.printStackTrace();

}

BASE64Encoder encoder = new BASE64Encoder();

return encoder.encode(data);

}

/**

* 将图片转换成字节数组

* @param imgFile 待处理图片

* @return

*/

public byte[] image2byte(String path){

byte[] data = null;

FileImageInputStream input = null;

try {

input = new FileImageInputStream(new File(path));

ByteArrayOutputStream output = new ByteArrayOutputStream();

byte[] buf = new byte[1024];

int numBytesRead = 0;

while ((numBytesRead = input.read(buf)) != -1) {

output.write(buf, 0, numBytesRead);

}

data = output.toByteArray();

output.close();

input.close();

}

catch (FileNotFoundException ex1) {

ex1.printStackTrace();

}

catch (IOException ex1) {

ex1.printStackTrace();

}

return data;

}

/**

* 对字节数组字符串进行Base64解码并生成图片

* @param imgStr 图片数据

* @param imgFilePath 保存图片全路径地址

* @return

*/

public static boolean generateImage(String imgStr, String imgFilePath) {

//

if (imgStr == null) // 图像数据为空

return false;

BASE64Decoder decoder = new BASE64Decoder();

try {

// Base64解码

byte[] b = decoder.decodeBuffer(imgStr);

for (int i = 0; i < b.length; ++i) {

if (b[i] < 0) {// 调整异常数据

b[i] += 256;

}

}

// 生成jpg图片

OutputStream out = new FileOutputStream(imgFilePath);

out.write(b);

out.flush();

out.close();

return true;

} catch (Exception e) {

return false;

}

}

}

b[i] += 256;

}

}

// 生成jpg图片

OutputStream out = new FileOutputStream(imgFilePath);

out.write(b);

out.flush();

out.close();

return true;

} catch (Exception e) {

return false;

}

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:来看视频小程序app(看视频微信小程序)
下一篇:关于做好一网通办工作是的信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~