• 根据一直url转化为base64返回

    • 实现方式:通过图片URL获取二进制流,再对字节数组进行Base64编码转换
  • 工具类
package com.dajia.zlb.util;import sun.misc.BASE64Encoder;import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Base64Util {/*** 图片URL转Base64编码* @param imgUrl 图片URL* @return Base64编码*/public static String imageUrlToBase64(String imgUrl) {URL url = null;InputStream is = null;ByteArrayOutputStream outStream = null;HttpURLConnection httpUrl = null;try {url = new URL(imgUrl);httpUrl = (HttpURLConnection) url.openConnection();httpUrl.connect();httpUrl.getInputStream();is = httpUrl.getInputStream();outStream = new ByteArrayOutputStream();//创建一个Buffer字符串byte[] buffer = new byte[1024];//每次读取的字符串长度,如果为-1,代表全部读取完毕int len = 0;//使用输入流从buffer里把数据读取出来while( (len = is.read(buffer)) != -1 ){//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度outStream.write(buffer, 0, len);}// 对字节数组Base64编码return encode(outStream.toByteArray());} catch (Exception e) {e.printStackTrace();} finally {try {if(is != null) {is.close();}if(outStream != null) {outStream.close();}if(httpUrl != null) {httpUrl.disconnect();}} catch (Exception e) {e.printStackTrace();}}return null;}/*** 图片转字符串* @param image 图片Buffer* @return Base64编码*/public static String encode(byte[] image){BASE64Encoder decoder = new BASE64Encoder();return replaceEnter(decoder.encode(image));}/*** 字符替换* @param str 字符串* @return 替换后的字符串*/public static String replaceEnter(String str){String reg ="[\n-\r]";Pattern p = Pattern.compile(reg);Matcher m = p.matcher(str);return m.replaceAll("");}public static void main(String[] args) {System.out.println(Base64Util.imageUrlToBase64("https://my-tanhua11.oss-cn-beijing.aliyuncs.com/t.jpg"));}
}
  • 疑难解答

上面的工具类生成的base64未携带前缀,前端不能直接拿来用。

​ 例如:

图片url通过工具类生成base64编码(现在给前端,前端是无法识别的

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUP1SXnDFSY2WV8CpI0jOh7lq1wQ0i0jjYK6AjZBqyjL2ht+BVOWLBPCJCTkLbuE8gywALatyC1cbKNJ9P1FDVOnRluu8NHZcurj0vouHLMr8vZfVOioV9NTrQV6i+5nFj06pPSWglCNvuZ6KTT03/AJhpWWUyJmsjpCJs0iKCQtq6dyiGkyJd7f/2Q==

需要加上前缀data:image/png;base64,(前后端谁拼接都可以)

<html>
<img src ="data:image/png;base64, /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUP1SXnDFSY2WV8CpI0jOh7lq1wQ0i0jjYK6AjZBqyjL2ht+BVOWLBPCJCTkLbuE8gywALatyC1cbKNJ9P1FDVOnRluu8NHZcurj0vouHLMr8vZfVOioV9NTrQV6i+5nFj06pPSWglCNvuZ6KTT03/AJhpWWUyJmsjpCJs0iKCQtq6dyiGkyJd7f/2Q==
" >
<html>

通过图片url转化base64相关推荐

  1. js:图片url转base64编码

    思路: 将图片url转为Image对象 将Image对象绘制到Canvas上 将Canvas对象转为Base64 实现代码 // Image对象转base64 function imageToBase ...

  2. 图片Url转换Base64

    java 图片Url转换Base64 1.引用依赖 <?xml version="1.0" encoding="UTF-8"?> <proje ...

  3. python如何将网络上的图片url和base64编码的图片保存在本地

    1.python base64编码的图片保存到本地 import os import base64 sss ="""/9j/4AAQSkZJRgABAQEASABIAAD ...

  4. Spring Boot 图片url转换为base64字符串

    通过图片链接将图片转换为base64编码字符串 之前直接向前端传图片文件,遇到跨域问题,一直没有解决,干脆将图片的base64字符串给前端了 参数:String类型,imgurl 图片链接 返回值:S ...

  5. 服务器图片转化为base64进行海报合成

    问题:html2canvas.js 在合成海报时,海报如果是服务器地址将会报跨域,这时需要将图片转化为base64格式再去进行合成. 附:html2canvas.js文件 <!-- 海报弹窗 - ...

  6. 根据传入坐标和图片URL地址对图片进行切图操作、将图片转化成Base64位码

    目录 1.根据传入坐标和图片URL地址对图片进行切图操作 2.将图片转化成Base64位编码.根据传入坐标 算出切点坐标 在开发过程的学习记录,此两个工具类主要是对图像的处理(切图),对文件的想换转化 ...

  7. url、base64、blob,三者之间的转化

    对于vue项目,我们使用axiso来发送请求,如果传递二进制图片时出现乱码,这个是什么问题? 答: axios 默认返回的是 json 文本形式,二进制图片数据被强制转换成了 json 文本形式. 解 ...

  8. node 根据图片img url 获取 base64

    自己都觉得搞笑的是,之前写前端图片裁剪代码的时候,想解决的问题是如何将canvas裁剪的base64图片转化为file格式上传.而现在考虑的问题是,如何将网络中的图片转化为base64图片格式. 两种 ...

  9. 通过文件url地址获取base64;通过图片url地址获取base64;js获取文件的base64

    本篇是通过url地址获取文件的base64 如果想要通过File文件获取base64查看这篇 以下代码可直接复制使用!注意第9行的图片地址更改下 <template><div cla ...

最新文章

  1. php跨域共享session
  2. Hibernate openSession() 和 getCurrentSession的区别 .
  3. php amp ldquo 转换,php与html代码的若干转换
  4. 太原工业学院单片机课程设计_我系举办2014年单片机应用技能竞赛开幕式
  5. 数组中只出现一次的数字+第一个只出现一次的字符
  6. 关于 TypeScript 联合类型 union type 赋值的一个错误消息
  7. linux脚本漏洞,Silver Peak VX跨站脚本漏洞(CVE-2014-2975)
  8. 线程间通信之eventfd
  9. matlab保存数据到excel_Excel意外退出数据未保存?这个方法可以帮你找回所有数据...
  10. MongoDB 教程四: 高级更改操作
  11. CentOS 7虚拟机支持virsh console访问
  12. 请求失败或服务器为及时响应,SQLServer(MSSQLSERVER)请求失败或服务未及时响应,有关详细信息,请参见事件日志或其他的适用的错误日志。...
  13. 首提“智能X效应”,英特尔携手产业加速智能变革
  14. Vue项目webpack打包部署到Tomcat,刷新报404错
  15. 灰色预测模型 matlab人口预测模型代码如下
  16. Android APP漏洞自动化静态扫描检测工具-Qark
  17. 基于树莓派的智能图像识别垃圾分类系统
  18. 【安全资讯】2021年值得关注的10大网络安全工具
  19. 国密PSAM卡与CPU(用户卡)操作过程 小结
  20. 3d 图表的javaapi

热门文章

  1. 英语论文格式修改(两栏)
  2. matlab算sma,[转载]通达信公式SMA函数计算方式的问题
  3. LCD1602显示总结
  4. 关于google搜索
  5. C语言:浮点型的基本知识
  6. js中replace函数的使用
  7. 业务连续性方案概述【9】
  8. python表达式3 5_运行以下Python中表达式后,X的值为是x=3==3,5A.3B.5C.(True,5)D.(False,5)...
  9. Lumaqq移植到Android-登录篇
  10. 计算机应用基础项目化教程答案熊云,计算机应用基础习题与上机实验指导