欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java将本地图片转为bas64_JAVA将图片(本地或者网络资源)转为Base64字符串

发布时间:2025/4/16 编程问答 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java将本地图片转为bas64_JAVA将图片(本地或者网络资源)转为Base64字符串 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

直接上代码:

package cn.sanishan.util;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

/**

*

* 版权所有:2016 项目名称:ImgeBase64

*

* 类描述:将图片转化为Base64字符串

* 类名称:cn.sanishan.util.Base64Img

* 创建人:

* 创建时间:2016年10月27日

* 下午3:25:49

* 修改人:

* 修改时间:2016年10月27日 下午3:25:49

* 修改备注:

*

* @version V1.0

*/

public class Base64Img {

/**

* @Title: GetImageStrFromUrl

* @Description: TODO(将一张网络图片转化成Base64字符串)

* @param imgURL 网络资源位置

* @return Base64字符串

*/

public static String GetImageStrFromUrl(String imgURL) {

byte[] data = null;

try {

// 创建URL

URL url = new URL(imgURL);

// 创建链接

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("GET");

conn.setConnectTimeout(5 * 1000);

InputStream inStream = conn.getInputStream();

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

inStream.read(data);

inStream.close();

} catch (IOException e) {

e.printStackTrace();

}

// 对字节数组Base64编码

BASE64Encoder encoder = new BASE64Encoder();

// 返回Base64编码过的字节数组字符串

return encoder.encode(data);

}

/**

* @Title: GetImageStrFromPath

* @Description: TODO(将一张本地图片转化成Base64字符串)

* @param imgPath

* @return

*/

public static String GetImageStrFromPath(String imgPath) {

InputStream in = null;

byte[] data = null;

// 读取图片字节数组

try {

in = new FileInputStream(imgPath);

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

in.read(data);

in.close();

} catch (IOException e) {

e.printStackTrace();

}

// 对字节数组Base64编码

BASE64Encoder encoder = new BASE64Encoder();

// 返回Base64编码过的字节数组字符串

return encoder.encode(data);

}

/**

* @Title: GenerateImage

* @Description: TODO(base64字符串转化成图片)

* @param imgStr

* @return

*/

public static boolean GenerateImage(String imgStr) {

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;

}

}

// 生成jpeg图片

String imgFilePath = "d://222.jpg";

OutputStream out = new FileOutputStream(imgFilePath);

out.write(b);

out.flush();

out.close();

return true;

} catch (Exception e) {

return false;

}

}

}

总结

以上是生活随笔为你收集整理的java将本地图片转为bas64_JAVA将图片(本地或者网络资源)转为Base64字符串的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。