欢迎访问 生活随笔!

生活随笔

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

编程问答

java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...

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

网络资源代码

import java.io.ByteArrayOutputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

/**

* 将网络图片转成Base64码,此方法可以解决解码后图片显示不完整的问题

* @param imgURL图片地址。

* 例如:http://***.com/271025191524034.jpg

* @return

*/

public static String imgBase64(String imgURL) {

ByteArrayOutputStream outPut = new ByteArrayOutputStream();

byte[] data = new byte[1024];

try {

// 创建URL

URL url = new URL(imgURL);

// 创建链接

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

conn.setRequestMethod("GET");

conn.setConnectTimeout(10 * 1000);

if(conn.getResponseCode() != HttpURLConnection.HTTP_OK) {

return "fail";//连接失败/链接失效/图片不存在

}

InputStream inStream = conn.getInputStream();

int len = -1;

while ((len = inStream.read(data)) != -1) {

outPut.write(data, 0, len);

}

inStream.close();

} catch (IOException e) {

e.printStackTrace();

}

// 对字节数组Base64编码

BASE64Encoder encoder = new BASE64Encoder();

return encoder.encode(outPut.toByteArray());

}

本地图片转base64

public static String GetImageStr(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();

}

//对字节数组Base64编码

BASE64Encoder encoder = new BASE64Encoder();

return encoder.encode(data);//返回Base64编码过的字节数组字符串

}

Base64解码并生成图片

public static boolean GenerateImage(String base64str,String savepath)

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

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

return false;

// System.out.println("开始解码");

BASE64Decoder decoder = new BASE64Decoder();

try

{

//Base64解码

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

// System.out.println("解码完成");

for(int i=0;i

{

if(b[i]<0)

{//调整异常数据

b[i]+=256;

}

}

// System.out.println("开始生成图片");

//生成jpeg图片

OutputStream out = new FileOutputStream(savepath);

out.write(b);

out.flush();

out.close();

return true;

}

catch (Exception e)

{

return false;

}

}

原文:https://www.cnblogs.com/momo1210/p/9708785.html

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

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

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