`

Java使用Base64编码处理图片转String(方便传输)使用

    博客分类:
  • Java
阅读更多
/**
	 * 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
	 * @param imgFilePath
	 * @return
	 */
	public static String GetImageStr(String imgFilePath) {
		byte[] data = null;
		// 读取图片字节数组
		try {
			InputStream in = new FileInputStream(imgFilePath);
			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);
	}

	/**
	 * 对字节数组字符串进行Base64解码并生成图片
	 * @param imgStr
	 * @param filePath
	 * @param fileName
	 * @return
	 */
	public static boolean GenerateImage(String imgStr, String filePath, String fileName) {
		if (imgStr == null){ // 图像数据为空
			return false;
		}
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			// Base64解码
			byte[] bytes = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < bytes.length; ++i) {
				if (bytes[i] < 0) {// 调整异常数据
					bytes[i] += 256;
				}
			}
			String imgFilePath =  FileUtils.getFilePath(filePath, fileName);
			// 生成图片
			OutputStream out = new FileOutputStream(imgFilePath);
			out.write(bytes);
			out.flush();
			out.close();
			return true;
		} catch (Exception e) {
			return false;
		}
	}


FileUtils.java
     
       /**
	 * 获取文件路径
	 * 
	 * @param dir
	 * @param fileName
	 * @return
	 */
	 public static String getFilePath(String dir, String fileName) {

		String fileSeparator = System.getProperty("file.separator");
		if (!dir.endsWith(fileSeparator)) {
			dir += fileSeparator;
		}
		File file = new File(dir);
		if (!file.isDirectory()) { // 如果文件夹不存在就新建
			file.mkdirs();
		}
		return dir + fileName;

	}
1
5
分享到:
评论
9 楼 yanxiaojia521 2013-09-16  
ives 写道
一看就是小菜鸟啊

是啊是啊。呵呵。
8 楼 yanxiaojia521 2013-09-16  
fanfq 写道
流量问题怎么解决啊?撸主考虑过么??


没,只关心支付业务。
7 楼 ives 2013-09-13  
一看就是小菜鸟啊
6 楼 fanfq 2013-09-13  
流量问题怎么解决啊?撸主考虑过么??
5 楼 yanxiaojia521 2013-09-13  
a3217130 写道
yanxiaojia521 写道
dingran 写道
你的函数首字母为什么大写呢?难道是因为static的吗?

那里的参数?

他指的是你的方法名。


这个不重要。
4 楼 luciferdevil 2013-09-13  
dingran 写道
你的函数首字母为什么大写呢?难道是因为static的吗?

估计是个人命名习惯
3 楼 a3217130 2013-09-13  
yanxiaojia521 写道
dingran 写道
你的函数首字母为什么大写呢?难道是因为static的吗?

那里的参数?

他指的是你的方法名。
2 楼 yanxiaojia521 2013-09-13  
dingran 写道
你的函数首字母为什么大写呢?难道是因为static的吗?

那里的参数?
1 楼 dingran 2013-09-13  
你的函数首字母为什么大写呢?难道是因为static的吗?

相关推荐

    Java实现图片和Base64之间的相互转化

    在Java编程中,将图片与Base64编码进行相互转换是一项常见的任务,特别是在网络传输、存储和显示图像数据时。Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据...

    java和js相互base64编码解码

    在IT行业中,Base64是一种常见的数据编码方式,它将任意二进制数据转换为可打印的ASCII字符,常用于在网络上传输包含非ASCII字符的数据,如图片或PDF等。在Java和JavaScript中,Base64编码和解码是两个重要的功能,...

    android用base64实现文件与string相互转换

    我们主要使用`java.util.Base64`类来进行编码和解码操作。 三、文件转String 1. 首先,我们需要读取文件的字节流(InputStream)。 2. 使用Base64的`getEncoder()`方法创建一个编码器。 3. 调用编码器的`...

    JAVA将图片转换为Base64编码

    在本文中,我们介绍了如何使用Java将图片转换为Base64编码,并将Base64编码字符串解码成图片。使用Base64编码可以将图片数据转换为文本数据,使得数据传输和存储更加安全和可靠。同时,我们也学习了如何使用Apache ...

    java将图片转成Base64编码

    总之,Java中的Base64编码是处理二进制数据的一种实用工具,尤其在处理图像数据时,能够方便地在网络上传输和存储。理解这一过程和如何在Java中实现它,对于开发Web应用或处理数据存储的程序员来说是非常重要的。

    java 图片base64 加密解密

    在Java编程中,图片Base64加密解密是一种常见的数据处理技术,特别是在网络传输和存储时,由于Base64编码可以将二进制数据转换为可打印的ASCII字符,因此非常适用。`sun.misc.BASE64Encoder`和`sun.misc.BASE64...

    Java Base64编码和解码

    在Java 8及更高版本中,Java引入了`java.util.Base64`类,提供了方便的Base64编码和解码API。以下是一些关键的方法: 1. `encodeBytes(byte[] input)`:将字节数组进行Base64编码,返回一个包含编码结果的字符串。 ...

    Java实现的Base64编码程序

    由于ASCII码是7位的,因此6位不足以表示一个完整的ASCII值,所以Base64使用了64个字符来作为编码集,这64个字符包括大小写字母、数字以及"+"和"/",最后还有一个特殊字符"="用于填充不足的位。 Java中实现Base64...

    图片流转存Base64编码然后转图片 Spring 框下的

    总的来说,Spring框架为我们提供了强大的工具来处理图片流与Base64编码之间的转换,使得图片的上传、存储和下载变得更加便捷。在实际开发中,根据具体需求,可能还需要考虑性能优化、错误处理、安全性等问题,比如...

    Java 从网络中读取图片 转换成Base64字符串

    在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...

    图片文件与Base64编码字节数组字符串互转

    - 然后,使用`java.util.Base64`工具类(自Java 8开始)的`getEncoder()`方法创建一个Base64编码器。 - 将字节流通过编码器,编码器会将字节数据转换为Base64字符串。 - 最后,得到的Base64字符串可以插入到HTML...

    base64包,decodeBase64包,encodeBase64String包

    在Java中,处理Base64编码和解码的库通常包含在特定的包中,比如Apache Commons Codec库。这个库提供了方便的API来执行Base64的编码和解码操作。 Apache Commons Codec是Apache软件基金会的一个开源项目,提供了一...

    Android图片的Base64编码与解码及解码Base64图片方法

    在Android开发中,有时我们需要将图片转换为Base64编码的形式以便在网络传输或者存储时使用。Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在...

    java 把PDF转换成BASE64

    2. **转换为BASE64**:Java 8及以上版本提供了`java.util.Base64`工具类,可以方便地进行BASE64编码。 ```java String base64String = Base64.getEncoder().encodeToString(pdfBytes); ``` 至此,PDF文件已经被转换...

    Java base64编码图片代码,base64 jar包

    下面我们将详细介绍如何使用Base64对图片进行编码以及如何引入jar包。 1. **Base64编码图片** - 首先,我们需要读取图片文件的字节流。这通常通过`java.io.FileInputStream`类完成。 - 然后,使用`java.util.Base...

    Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码

    Java Base64位编码与String字符串的相互转换、Base64与Bitmap的相互转换实例代码 Java Base64位编码与String字符串的相互转换是Java开发中常用的技术,Base64是一种常用的编码方式,它可以将二进制数据编码成可读的...

    二维码生成 图片Base64编码解码

    二维码生成和图片Base64编码解码是两个在IT领域中常见的操作,广泛应用于数据传输、网页设计和移动应用等领域。下面将详细讲解这两个主题。 首先,二维码(Quick Response Code)是一种二维条形码,可以存储更多的...

    Java 图片压缩

    总结,Java通过`java.awt.image`和`javax.imageio`包提供了强大的图片处理能力,包括图片压缩、Base64编码以及文件操作。在实际项目中,结合这些功能可以实现复杂的图像处理需求。同时,了解不同图片格式的压缩机制...

    Base64编码jar包

    以下是使用`javabase64-1.3.1.jar`进行Base64编码和解码的基本步骤: 1. **添加依赖**:首先,将`javabase64-1.3.1.jar`文件复制到你的项目的类路径(Classpath)下,或者如果你使用的是Maven或Gradle,可以在构建...

    java使用base64加密

    Java中的Base64编码是一种广泛使用的数据编码方式,主要用于将二进制数据转换为可打印的ASCII字符,以便在网络传输、存储或者显示时避免乱码问题。Base64编码是基于64个可打印字符来表示二进制数据,这64个字符包括...

Global site tag (gtag.js) - Google Analytics