/**
* 将图片文件转化为字节数组字符串,并对其进行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;
}
分享到:
相关推荐
在Java编程中,将图片与Base64编码进行相互转换是一项常见的任务,特别是在网络传输、存储和显示图像数据时。Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据...
在IT行业中,Base64是一种常见的数据编码方式,它将任意二进制数据转换为可打印的ASCII字符,常用于在网络上传输包含非ASCII字符的数据,如图片或PDF等。在Java和JavaScript中,Base64编码和解码是两个重要的功能,...
我们主要使用`java.util.Base64`类来进行编码和解码操作。 三、文件转String 1. 首先,我们需要读取文件的字节流(InputStream)。 2. 使用Base64的`getEncoder()`方法创建一个编码器。 3. 调用编码器的`...
在本文中,我们介绍了如何使用Java将图片转换为Base64编码,并将Base64编码字符串解码成图片。使用Base64编码可以将图片数据转换为文本数据,使得数据传输和存储更加安全和可靠。同时,我们也学习了如何使用Apache ...
总之,Java中的Base64编码是处理二进制数据的一种实用工具,尤其在处理图像数据时,能够方便地在网络上传输和存储。理解这一过程和如何在Java中实现它,对于开发Web应用或处理数据存储的程序员来说是非常重要的。
在Java编程中,图片Base64加密解密是一种常见的数据处理技术,特别是在网络传输和存储时,由于Base64编码可以将二进制数据转换为可打印的ASCII字符,因此非常适用。`sun.misc.BASE64Encoder`和`sun.misc.BASE64...
在Java 8及更高版本中,Java引入了`java.util.Base64`类,提供了方便的Base64编码和解码API。以下是一些关键的方法: 1. `encodeBytes(byte[] input)`:将字节数组进行Base64编码,返回一个包含编码结果的字符串。 ...
由于ASCII码是7位的,因此6位不足以表示一个完整的ASCII值,所以Base64使用了64个字符来作为编码集,这64个字符包括大小写字母、数字以及"+"和"/",最后还有一个特殊字符"="用于填充不足的位。 Java中实现Base64...
总的来说,Spring框架为我们提供了强大的工具来处理图片流与Base64编码之间的转换,使得图片的上传、存储和下载变得更加便捷。在实际开发中,根据具体需求,可能还需要考虑性能优化、错误处理、安全性等问题,比如...
在Java编程中,将网络上的图片读取并转换为Base64字符串是一项常见的任务,尤其在Web开发中,这样的操作可以用于数据传输或者存储。Base64是一种编码方式,能够将二进制数据转化为可打印的ASCII字符,方便在网络上...
- 然后,使用`java.util.Base64`工具类(自Java 8开始)的`getEncoder()`方法创建一个Base64编码器。 - 将字节流通过编码器,编码器会将字节数据转换为Base64字符串。 - 最后,得到的Base64字符串可以插入到HTML...
在Java中,处理Base64编码和解码的库通常包含在特定的包中,比如Apache Commons Codec库。这个库提供了方便的API来执行Base64的编码和解码操作。 Apache Commons Codec是Apache软件基金会的一个开源项目,提供了一...
在Android开发中,有时我们需要将图片转换为Base64编码的形式以便在网络传输或者存储时使用。Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在...
2. **转换为BASE64**:Java 8及以上版本提供了`java.util.Base64`工具类,可以方便地进行BASE64编码。 ```java String base64String = Base64.getEncoder().encodeToString(pdfBytes); ``` 至此,PDF文件已经被转换...
下面我们将详细介绍如何使用Base64对图片进行编码以及如何引入jar包。 1. **Base64编码图片** - 首先,我们需要读取图片文件的字节流。这通常通过`java.io.FileInputStream`类完成。 - 然后,使用`java.util.Base...
Java Base64位编码与String字符串的相互转换、Base64与Bitmap的相互转换实例代码 Java Base64位编码与String字符串的相互转换是Java开发中常用的技术,Base64是一种常用的编码方式,它可以将二进制数据编码成可读的...
二维码生成和图片Base64编码解码是两个在IT领域中常见的操作,广泛应用于数据传输、网页设计和移动应用等领域。下面将详细讲解这两个主题。 首先,二维码(Quick Response Code)是一种二维条形码,可以存储更多的...
总结,Java通过`java.awt.image`和`javax.imageio`包提供了强大的图片处理能力,包括图片压缩、Base64编码以及文件操作。在实际项目中,结合这些功能可以实现复杂的图像处理需求。同时,了解不同图片格式的压缩机制...
以下是使用`javabase64-1.3.1.jar`进行Base64编码和解码的基本步骤: 1. **添加依赖**:首先,将`javabase64-1.3.1.jar`文件复制到你的项目的类路径(Classpath)下,或者如果你使用的是Maven或Gradle,可以在构建...
Java中的Base64编码是一种广泛使用的数据编码方式,主要用于将二进制数据转换为可打印的ASCII字符,以便在网络传输、存储或者显示时避免乱码问题。Base64编码是基于64个可打印字符来表示二进制数据,这64个字符包括...