文件与Base64的互转
/**
* 本地文件转换成Base64字符串
*/
public String convertFileToBase64(String Path) {
byte[] data = null;
// 读取字节数组
try {
InputStream in = new FileInputStream(Path);
//System.out.println("文件大小(字节)="+in.available());
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
//对字节数组进行Base64编码,得到Base64编码的字符串
BASE64Encoder encoder = new BASE64Encoder();
String base64Str = encoder.encode(data);
return base64Str;
}
/**
* 将base64字符串,生成文件
*/
public void convertBase64ToFile(String fileBase64String, String filePath, String fileName) {
BufferedOutputStream bos = null;
FileOutputStream fos = null;
File file = null;
try {
File dir = new File(filePath);
if (!dir.exists() && dir.isDirectory()) {//判断文件目录是否存在
dir.mkdirs();
}
BASE64Decoder decoder = new BASE64Decoder();
byte[] bfile = decoder.decodeBuffer(fileBase64String);
file = new File(filePath + File.separator + fileName);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bfile);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
文件与Base64的互转的更多相关文章
- java实现图片文件与Base64的互转
通过form表单上传图片时,有时候web容器对文件大小的限制会影响我们上传.这时,前端页面可以考虑将图片转换成base64串来实现上传. 图片与Base64的互转,其实就是利用了文件流与Base64的 ...
- 文件与base64二进制转换
/// <summary> /// 文件转换为Base64二进制流 /// </summary> /// <param name="FilePath" ...
- EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象
EF+LINQ事物处理 在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...
- 将文件转换为base64字符串,然后还原
package com.um.banks.xinlian.utils; import java.io.File; import java.io.FileInputStream; import java ...
- HTML5 通过文件输入框读取文件为base64文件, 并借助canvas压缩 FileReader, files, drawImage
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- JAVA 文件与base64之间的转化, 以及Web实现base64上传文件
<1>文件与base64字符串之间的转化 package servlet_file_upload; import java.io.File; import java.io.FileInpu ...
- JAVA文件转换为Base64
JAVA文件转换为Base64 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...
- file文件与base64字符串的相互转换
今天心情不好,不想说话. /** * 文件转base64字符串 * @param file * @return */ public static String fileToBase64(File fi ...
- Java,获取文件的Base64字符串,解码Base64字符串还原文件
在jdk1.8以前,获取文件Base64字符串需要用到第三方库,从1.8开始,Java中引入了Base64相关的类 以下是代码示例 获取文件的Base64编码字符串 import java.io.Fi ...
- JS任意文件转base64
<!doctype html><html><head><meta charset="utf-8"><meta name=&qu ...
随机推荐
- Linux进程通信 | 消息队列
什么是消息队列? 假设你是一个快递员,你需要将货物从一个仓库运到另一个仓库.但是你发现自己的时间不够用,需要另外请一个人来帮忙.那么,你们之间如何进行协作呢? 一种方式是直接将货物全部交给对方,但这样 ...
- win32 - 找出占用文件的进程id和name
日常文件操作的时候,在删除或者移动某个文件的时候,发现它被某些进程占用了. 那么下面的代码就可以帮助我们找出这些进程的id和name. 原理: 将资源注册到Restart Manager会话.重新启动 ...
- 程序员应具备的PS基本技能(二):程序员切图最常使用的工具组-选择工具组
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- docker部署fastdfs并在Django中集成
拉取Fastdfs镜像 docker pull delron/fastdfs 构建Tracker容器 是在Linux环境下,使用docker镜像构建tracker容器,用于启动跟踪服务器,起到调度的作 ...
- AI与人类联手,智能排序人类决策:RLHF标注工具打造协同标注新纪元,重塑AI训练体验
AI与人类联手,智能排序人类决策:RLHF标注工具打造协同标注新纪元,重塑AI训练体验 在大模型训练的 RLHF 阶段,需要人工对模型生成的多份数据进行标注排序,然而目前缺乏开源可用的 RLHF 标注 ...
- Oracle触发器联合唯一约束
Oracle支持可为空字端的唯一约束呢?下面就是用触发器作出的限制语句,仅供参考: CREATE OR REPLACE TRIGGER Tg_Completion_Test BEFORE INSERT ...
- macOS通过ssh使用PEM登录
在win上面可以使用XSHELL来登录类似于亚马逊这样的安全服务器,在mac上面就可以使用系统自带的命令工具来连接 使用命令 ssh -i key.pem [server] 如下: ssh -i ke ...
- 【Azure Redis 缓存】Lettuce 连接到Azure Redis服务,出现15分钟Timeout问题
问题描述 在Java应用中,使用 Lettuce 作为客户端SDK与Azure Redis 服务连接,当遇见连接断开后,长达15分钟才会重连.导致应用在长达15分的时间,持续报错Timeout 问题解 ...
- STL-unordered_hashtable模拟实现
#pragma once #include<vector> #include<string> #include<iostream> using std::cout; ...
- Android系统瘦身
文件格式: Windows常见的文件系统是FAT16.FAT32,NTFS,在Windows环境提供了分区格式转换工具,可以在DOC环境下 使用 Convert命令(Convert e:/fs:nt ...