问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将multipartfile文件转换成base64编码

发布网友 发布时间:2022-05-19 16:34

我来回答

1个回答

热心网友 时间:2023-10-14 20:49

例子说明一切
先写单元测试吧:单元测试的代码如下:
package test.com.cs;

import com.cs.Base64Convert;
import junit.framework.TestCase;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Logger;

public class TestBase64Convert extends TestCase {
Base64Convert baseCov = null;

public TestBase64Convert(String s) {
super(s);
}

protected void setUp() throws Exception {
baseCov = new Base64Convert();
}

protected void tearDown() throws Exception {
super.tearDown();
}

public void testIoToBase64() {
try {
String strBase64 = baseCov.ioToBase64(); //将 io 转换为 base64编码
System.out.println(">>> "+strBase64);
baseCov.base64ToIo(strBase64); //将 base64编码转换为 io 文件流,生成一幅新图片
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

------------------------------------
package com.cs;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import java.io.*;

public class Base64Convert {
BASE64Decoder decoder = new BASE64Decoder();

public String ioToBase64() throws IOException {
String fileName = "d:/gril.gif"; //源文件
String strBase64 = null;
try {
InputStream in = new FileInputStream(fileName);
// in.available()返回文件的字节长度
byte[] bytes = new byte[in.available()];
// 将文件中的内容读入到数组中
in.read(bytes);
strBase64 = new BASE64Encoder().encode(bytes); //将字节流数组转换为字符串
in.close();
} catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return strBase64;
}

public void base64ToIo(String strBase64) throws IOException {
String string = strBase64;
String fileName = "d:/gril2.gif"; //生成的新文件
try {
// 解码,然后将字节转换为文件
byte[] bytes = new BASE64Decoder().decodeBuffer(string); //将字符串转换为byte数组
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
byte[] buffer = new byte[1024];
FileOutputStream out = new FileOutputStream(fileName);
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
out.write(buffer, 0, byteread); //文件写操作
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
intel 英特尔 酷睿 i5-9400F CPU 2.9GHz 6核6线程-详细介绍 vivo手机越用网络越慢 怎么检测 二手苹果电脑交易注意买二手苹果笔记本电脑应注意什么 比如我买一个二手笔记本卖家笔记本预装正版win10的话把他账号注销登录我... 二手苹果笔记本怎么更改账户 军婚假期有多少天 金立e6mini开机出现el 甘肃基层卫生主要内容 甘肃基层医疗卫生系统怎么撤销处方 天津市选调生通过面试了不去会怎么样 写作文标点符号有什么要求.. 写作文时,标点符号该怎样用? 什么可以提高大学宿舍生活质量? 怎么让寝室变整洁 如何把学生宿舍变得整洁 我是女生,大姨妈有什么好处 吃月经对身体有什么好处? 来月经对女性有什么好处 乐视的乐pro3玩游戏好不好?为什么 女性调和经血有什么作用? 乐PRO3玩游戏怎么样?特别是一些比较大型的MMO,会卡吗? 姨妈血有什么用 surface pro3用了两天,玩lol和看视频的时候机身特别烫,特别是玩游戏的时候。一直这样烫 CDR文件可以使用WPS打开吗 谁会创建YY频道? 是CF游戏的YY yy频道没人,我怎么才能看到频道是谁创建的 怎么查询YY子频道是谁创建的(不是问OW,是问市哪个管理员建的) 怎样才知道YY的创建人是谁/ 怎么看歪歪频道谁建立的 怎么知道YY频道是谁创建的 用VC++6.0编写BASE64编码转换程序时遇到的小问题? 知识大全中z的组词 z怎么组词 H和Z的组词结果是什么? zh和z的组词有哪些? z声母代表字音组词 z和f开头的两个字组词 z怎样组词 金山毒霸的文件夹的英文名称是什么啊? 怎么知道桌面上程序的英文名,好像金山毒霸,它的英文名字是什么? 金山毒霸的英文名是什么?? 金山毒霸的英文名字是什么啊? 右键出现使用金山毒霸扫描和使用金山粉碎器删除,请问怎样可以 去掉两个菜单,这两个文件的英文名是什么, 金山毒霸的文件夹名 大米代装好还是桶装好? 夏季米是用桶装还是用蛇皮袋装↗好? 新买了一台海尔EC6002—R的电热水器,问一下此款热水器的安全阀带不带过滤功能? 海尔EC6002一QC怎么排污 带口罩再带头戴式耳机是奇葩吗 天软专升本历年分数线