package com.jyp.greenhouse.core.util;
import sun.misc.BASE64Decoder;
import java.io.*;
import static java.util.Base64.getEncoder;
/**
* Author : jyp
* Date : 2017-04-25 13:31
* Describe : Base64工具类
*/
public class Base64Util {
public static String imageToBase64(String path) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
byte[] data = null;
// 读取图片字节数组
try {
InputStream in = new FileInputStream(path);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
// 对字节数组Base64编码
final String encoded =
getEncoder()
.encodeToString(data);
return encoded;
}
public static boolean base64ToImage(String base64, String path) {// 对字节数组字符串进行Base64解码并生成图片
if (base64 == null) { // 图像数据为空
return false;
}
try {
BASE64Decoder decoder = new BASE64Decoder();
byte[] bytes = decoder.decodeBuffer(base64);
// byte[] bytes = new String(
// Base64.getDecoder().decode(base64),
// StandardCharsets.UTF_8).getBytes();
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
// 生成图片
OutputStream out = new FileOutputStream(new File(path));
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args){
Base64Util.base64ToImage("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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于物联网设计的智能温室原型开发(web端).zip(毕设/课设/竞赛/实训/项目开发) (762个子文件)
bootstrap.min.css 103KB
style.css 98KB
animate.css 60KB
glyphicons.css 52KB
ueditor.css 43KB
ueditor.min.css 34KB
font-awesome.css 27KB
jquery-ui.css 27KB
font-awesome.min.css 21KB
video-js.css 21KB
halflings.css 20KB
image.css 18KB
bootstrap-responsive.min.css 16KB
datepicker.css 16KB
video.css 15KB
select2_metro.css 14KB
layer.css 14KB
attachment.css 14KB
style-metro.css 13KB
datetimepicker.css 12KB
chosen.css 12KB
video-js.min.css 11KB
fullcalendar.css 11KB
uniform.default.css 11KB
dropzone.css 10KB
light.css 9KB
style-responsive.css 9KB
inbox.css 8KB
purple.css 7KB
brown.css 7KB
blue.css 7KB
grey.css 7KB
default.css 7KB
shCoreDefault.css 7KB
pricing-tables.css 6KB
bootstrap-toggle-buttons.css 6KB
clockface.css 6KB
timeline.css 6KB
search.css 5KB
layer.css 5KB
profile.css 5KB
bootstrap-modal.css 4KB
daterangepicker.css 4KB
jquery.fancybox.css 4KB
scrawl.css 4KB
DT_bootstrap.css 4KB
jquery.nestable.css 3KB
codemirror.css 3KB
charts.css 3KB
background.css 2KB
blog.css 2KB
bootstrap-wysihtml5.css 2KB
colorpicker.css 2KB
login.css 2KB
login-soft.css 2KB
bootstrap-tag.css 2KB
showInfoIndex.css 2KB
bootstrap-fileupload.css 2KB
style-non-responsive.css 2KB
error.css 2KB
news.css 2KB
jquery.gritter.css 2KB
timepicker.css 2KB
multi-select-metro.css 2KB
lock.css 2KB
emotion.css 2KB
coming-soon.css 2KB
dialogbase.css 2KB
music.css 2KB
jquery.fileupload-ui.css 1KB
edittable.css 1KB
bootstrap-tree.css 1KB
template.css 1KB
jqvmap.css 907B
jquery.tagsinput.css 904B
promo.css 721B
email.css 661B
invoice.css 528B
webuploader.css 515B
help.css 389B
print.css 328B
about-us.css 267B
jquery.easy-pie-chart.css 141B
iframe.css 41B
css 0B
bootstrap-responsive1.min.css 0B
jquery.ui.slider.css 0B
jquery-ui-1.10.1.custom.min.css 0B
glyphicons-regular.eot 143KB
fontawesome-webfont.eot 37KB
glyphiconshalflings-regular.eot 33KB
vjs.eot 3KB
UEditorSnapscreen.exe 508KB
wface.gif 49KB
jxface2.gif 40KB
ajax-loading.gif 29KB
yface.gif 28KB
bface.gif 27KB
icons.gif 20KB
file-icons.gif 20KB
共 762 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功