文章目录

  • 引入坐标
  • 常见操作
    • 下载远程url的文件并转换成base64编码
    • 文件转base64编码
    • 判断一个字符串是否是base64

引入坐标

     <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.4.3</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.10</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.5</version></dependency>

常见操作

下载远程url的文件并转换成base64编码

代码如下:

 public static String file(String url){String encode = null;try {CloseableHttpClient client = HttpClients.createDefault();HttpGet get = new HttpGet(url);CloseableHttpResponse response = client.execute(get);//文件流HttpEntity httpEntity = response.getEntity();InputStream inStream = httpEntity.getContent();byte[] bytes = IOUtils.toByteArray(inStream);//附件base64encode = cn.hutool.core.codec.Base64.encode(bytes);} catch (IOException e) {log.error(e.getMessage(), e);}return encode;}

测试:

    /*** 测试下载远程url的文件,转换成base64编码* @throws Exception*/@Testpublic void testUrlFileToBase64() throws Exception {String BASE64Str = Base64Util.file("https://xxx.oss-cn-hangzhou.aliyuncs.com/upload/20220513/165242342M");System.out.println("BASE64Str:"+BASE64Str);}

因为是图片,可以复制输出的base64编码到这个网址验证:https://tool.jisuapi.com/base642pic.html
其他base64操作如下:

文件转base64编码

 public static String fileToBase64(File file) {try {byte[] imageData = FileUtils.readFileToByteArray(file);String base64 = encodeImage(imageData);return base64;} catch (Exception e) {log.error(e.getMessage(), e);return null;}}public static String encodeImage(byte[] imageData) {String encodeStr = Base64.getEncoder().encodeToString(imageData);log.info("encodeImage>>" + encodeStr);return encodeStr;}

判断一个字符串是否是base64

 public static boolean isBase64(String str) {String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$";return Pattern.matches(base64Pattern, str);}

其他base64转换可以查看我这篇文章:Base64和byte[]数组互转的两种方式

Base64码常见操作(url链接文件转base64编码、本地文件转base64编码等)相关推荐

  1. 16、爬取知乎大v张佳玮的文章“标题”、“摘要”、“链接”,并存储到本地文件...

    爬取知乎大v张佳玮的文章"标题"."摘要"."链接",并存储到本地文件 1 # 爬取知乎大v张佳玮的文章"标题".&qu ...

  2. C# .NET 根据Url链接保存Image图片到本地磁盘

    C# .NET 根据Url链接保存Image图片到本地磁盘 原文:C# .NET 根据Url链接保存Image图片到本地磁盘 根据一个Image的Url链接可以在浏览器中显示一个图片,如果要通过代码将 ...

  3. 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)

    一.文件包含漏洞概述 1.定义:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序.当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行 ...

  4. 可以读取html文件,javascript能读取本地文件吗?

    JavaScript读取本地文件 利用XMLHttpRequest对本地文件进行读取操作,值得注意的是,HTML文档的格式要与流中的读取格式设置一致, 代码如下:function load(name) ...

  5. java读取修改文件内容_Java对本地文件内容读取、修改、删除的操作

    import org.apache.commons.lang.StringUtils; import java.io.*; import java.util.HashMap; import java. ...

  6. 在chrome网页上通过点击链接或执行js打开本地文件夹

    用来能在网页上方便的打开常用文件夹或文件. 方法: 下面文件放到c:/tools/位置: 执行mycall.reg添加注册信息: 试试在chrome里点击<a href="mycall ...

  7. 读文件 —— WEB前端读取本地文件内容哪些事(前台解析txt文件)……

    强制让浏览器允许JS读写本地文件--的操作! 问题描述: 让自己的浏览器允许js读写本地文件,尽可能多的兼容各种浏览器.(即本机的js文件读写本机的文件) 问题回复--1: 您的意思是不需要浏览器与用 ...

  8. eclipse中dtd文件约束影射到本地文件

    用struts中的约束来举例,这个dtd约束链接如果在本地没有网络的情况下会找不到这个约束文件,会报错. 解决办法: 1.找到这个约束文件放到项目下,把这个链接与本地文件做一下影射. 2.影射操作: ...

  9. 本地拷贝文件到服务器卡死,本地文件拷贝到服务器

    本地文件拷贝到服务器 内容精选 换一换 您需要将编译后的可执行文件拷贝到目标服务器,并构造相关输入数据,从而运行工程.对于本文档的应用示例,查看$HOME/tools/projects/Custom_ ...

  10. h5读取android本地的文件,h5+js实现本地文件读取和写入

    代码如下: 读取本地文件 Document //点击导入按钮,使files触发点击事件,然后完成读取文件的操作 $("#fileImport").click(function(){ ...

最新文章

  1. 查看mysql整个库的数据大小_查看mysql数据库容量大小
  2. Math4DS 直播 NO.10 | “机器学习之父”、加州大学伯克利分校迈克尔·乔丹
  3. chrome插件infinity_5款超好用Chrome插件,快试试看!
  4. Java关键字final使用详解
  5. php重载,PHP 重载
  6. windows平台下vlc编译
  7. Jmeter逻辑控制器-ForEach Controller
  8. logistic regression一点理解
  9. vuex模块化 怎么引用state_vue 组件如何调用 vuex 模块中的getters
  10. 珍大户《认知世界的经济学》学习笔记 -- 第17课 影响消费者的因素 -- 色彩、冷暖、秩序
  11. 一文读懂模拟电路和数字电路之间的区别和联系
  12. 【NOIP2016提高组】蚯蚓
  13. 【C语言编程练习】华氏转换为摄氏
  14. Django 中 models 用法及参数详解
  15. 剑指 Offer 24. 反转链表java
  16. 计算机组成原理大题速成,计算机组成原理大题
  17. Linux操作系统与Shell编程
  18. 创建数据库报错--MySQL server is running with the --super-read-only option
  19. 这9款宝藏办公软件原地封神,款款深入人心
  20. C3P0 连接池时报 TimeoutException 的解决方法

热门文章

  1. 数学建模——多属性决策模型
  2. 线性反馈移位寄存器实现产生伪随机数M序列
  3. 801机械设计2017题签
  4. android 定时重启手机,有必要定时重启手机吗? 重启后手机会更流畅吗?
  5. 购物网页设计php实验报告,购物网站设计-Web实验报告
  6. PHP 谷歌翻译类API 接口
  7. Ubuntu GCC编译器升级
  8. E-R图练习(邮件客户端系统)
  9. udev介绍及两个小场景应用
  10. 计算机病毒与恶意软件