图片转化成base64字符串 && base64字符串转化成图片

按键精灵电脑版对接百度ai,告别字库(文字识别篇) 前提你得会使用按键精灵电脑版的post,get请求,简单说明一下,get请求传递的参数封装太url后缀里,post请求参数封装在requestBody里,请求头和编码啥的,看我代码copy就行了百度ai文字识别需要请求两个接口,才能拿到识别结果1.获取token的接口2.根据获取的token,请求文字识别的接口,参数为base64图片进行url编码(utf8)后的字符+token。 阅读详情
// 图片转化成base64字符串
	public static String GetImageStr(String imgUrl) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
		// String imgFile = "C:/Users/Star/Desktop/test.png";// 待处理的图片
		InputStream in = null;
		byte[] data = null;
		// 读取图片字节数组
		try {
			in = new FileInputStream(imgUrl);
			data = new byte[in.available()];
			in.read(data);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 对字节数组Base64编码
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);// 返回Base64编码过的字节数组字符串
	}


// base64字符串转化成图片
	public static String GenerateImage(HttpServletRequest request,
			String imgStr, String relroot) { // 对字节数组字符串进行Base64解码并生成图片
		if (imgStr == null) // 图像数据为空
			return null;
		String newName = StringUtil.reName("") + ".png";
		// String imgUrl =
		// "shopImages/commodity/"+UploadTools.reName("")+".png";
		String path = request.getSession().getServletContext()
				.getRealPath(relroot);
		File targetFile = new File(path, newName);
		String imagePath = relroot + "/" + newName;
		if (!targetFile.getParentFile().exists()) {
			targetFile.getParentFile().mkdirs();
		}
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			// Base64解码
			byte[] b = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < b.length; ++i) {
				if (b[i] < 0) {// 调整异常数据
					b[i] += 256;
				}
			}
			// 生成jpeg图片
			// String imgFilePath = "d:/test22.png";// 新生成的图片
			OutputStream out = new FileOutputStream(targetFile);
			out.write(b);
			out.flush();
			out.close();
			return imagePath;
		} catch (Exception e) {
			return null;
		}
	}

需使用jdk7

图片按宽高比及清晰度比率压缩换为base64 宽高比及清晰度比率压缩, 按照默认设置压缩后图片大小基本能在100KB以内 立即下载

相关推荐

Base64图片

可以把多种格式的图片换为Base64的编码 也可以反向操作

按键精灵、auto.js上传下载图片文件到云服务器,网站管理图片数据

一、原理 1.上传原理: 按键精灵用zm插件(或其他有base64和文件化的插件) 将图片化为base64编码字符, 然后将字符通过http.post函数上传到服务器解析成图片展示

qq_18816201的博客 5950

js 将图片连接换成base64格式的简单实例

我们把图像文件的内容直接写在了HTML 文件中,这样做的好处是,节省了一个HTTP 请求。坏处呢,就是浏览器不会缓存这种图像。现在我们提供一个js: function convertImgToBase64(url, callback, outputFormat){ var canvas = document.createElement('CANVAS'), ctx = canvas.getContext('2d'), img = new Image; img.crossOrigin = 'Anonymous'; img.onload = function(){

触动精灵将图片base64字符串后通过post方式上传给服务器

触动精灵使用lua实现对手机的自动化操作, 比按键精灵好用, 现在有个小需求就是对手机截屏后将图片通过post方式提交到服务器端. lua代码 python用习惯了, 再写lua的代码总感觉有点别扭, 有些语法还得再翻翻文档,这里再复习一下常用的操作: 字符串拼接使用.., 例如"hello".." world" 调用对象对应的方法需要用冒号,比如var_a:func() 表(字典)定义语法和python唯一的区别是key不用加引号,后面=值, 例如table={id=1, value="wtf"} .

Dexter's Laboratory 4823

按键精灵免字库本地识别OCR

目前网上仅有类大漠的字库识别和远程调用互联网识别。百度飞桨很早就开源了PaddleOCR,做一个小脚本还使用收费远程项目早应该过时。由于对py不熟悉,推理麻烦,直接使用了捷智开源的基于PaddleOCR的RapidOCR,简单快捷。抓图还是得使用大漠,效率比python的抓图性能好。如果能找到高效抓图的py库那自然是最好的,可以免去文件存储和读取的io耗时。

bbq烤鸡的后宫 1万+

按键精灵实现验证码识别

二、读取验证码图片base64 代码如下(示例): 该处使用的url网络请求的数据。 四、获取返回值,获得验证码 应用插件 神梦插件下载地址: 链接:https://pan.baidu.com/s/120Mcq7KaQ8UOi2bFe6_MQg 提取码:pjwt......

qq_51741194的博客 9903

C++ Base64图片&&图片Base64

Base64的由来 目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一。在做支付系统时,系统之间的报文交互都需要使用Base64对明文进行码,然后再进行签名或加密,之后再进行(或再次Base64)传输。那么,Base64到底起到什么作用呢? 在参数传输的过程中经常遇到的一种情况:使用全英文的没问题,但一旦涉及到中文就会出现乱码情况。与此类似,网络上传输的字符并不全是可打印的字...

my_angle2016的博客 1万+

Java中将base64编码字符串换为图片

一段时间,在做摄像头拍照上传,摄像头拍的照片为base64编码格式的字符串,需要上传至项目中,则需要使用到将base64编码字符串换为图片 1、将base64编码字符串换为图片的代码如下 ImageUtil.java: package util; import javax.servlet.http.HttpServletRequest; import java.io.FileOutputSt...

JACKAL 23万+

base64字符串转化成图片

package com.dhht.wechat.util;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.*;/** * @Author: sh * @Description: ImgUtil * @Date: 9:14 2019/7/1 */public class ImgUtil {...

weixin_30633507的博客 980

Java如何把图片Base64字符串

Base64可以将任何二进制文件以可打印字符的方式表示,也就是说,任何二进制文件都可以通过Base64编码技术字符串。在Java中,可以使用Base64类实现。 1、图片(二进制文件)字符串 import java.io.FileInputStream; import java.io.IOException; import java.util.Base64; public class ImageBase64Utils { public static void main(String[

小诸葛的博客 7607

java将图片base64字符串

base64字符串图片相互换的核心就是文件流与字节数组的相互换,由于换简单下面直接贴代码: package com.rh.fs.util; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;...

huangshikai 2762

Java 图片转化成base64字符串互相换+网络图片Base64的方法

最近遇到图片base64字符串互相换甚是头疼啊,把资源分享给大家,愿大家用的好用 话不多说直接上代码: 图片转化成base64字符串(不包含 data:image/jpeg;base64, 东西) //图片转化成base64字符串 //imgFile路径名称 如:“C:\Users\asus\Desktop\qm.png” public static String GetImageStr(String imgFile) { //将图片文件化为字节数组字符串,并对其进行Bas

金蕊泛流霞 880

js 把图片url转化成base64

网络上有很多片介绍通过js将图片换成base64的文章,之所以再写这篇文章的原因时发现没有找到系统的介绍的文章,有的介绍如何实现本地项目的图片码,有的介绍如何实现网络资源的图片化,但是系统介绍的少之又少,所以我就在这里将各种场景系统的介绍一下: 场景一:将用户本地上传的资源化,即用户通过浏览器点击文件上传时,将图片资源转化成base64: &lt;input type="file" ...

qq_32898041的博客 2万+

MQ传送图片 && 图片base64编码字符串 之间的

根据图片地址换为base64编码字符串(添加MQ依赖和其他步骤略) 1-1、通过RabbitMQ换传输 public void fireEngineSend() { String strImg = getImageStr("F:/86619-106.png"); System.out.println(strImg); Channel channel = getChannel(); String exchange = "picture_bast64"; Stri

Dyson_HQ的博客 1927

java实现图片base64字符串之间的

package cn.com; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import sun.misc.BASE64Decoder; i

花非花雾非雾物语人生 12万+

图片base64编码的两种方法(本地图片和网络图片url)

图片base64编码的两种方法(本地路径和网络url) 1.对于前段时间遇到的问题现在给大家说一下,,希望大家共勉,以后尽量避免(直接贴代码了) 一、本地图片base64编码 二、网络图片urlbase64编码 ...

lip86的专栏 1万+

按键精灵 百度文字识别(百度ocr)OCRSpace文字识别

目录1. 申请百度OCR服务1.1. 百度OCR登录1.2 创建新应用1.3 免费领取次数1.3 查看是否创建成功2. 按键精灵运用百度OCR接口2.1 通用文字识别(高精度版)文档3.1 接口描述3.2 请求说明3.3 获取access_token3.4 按键精灵代码实现四级标题五级标题六级标题 1. 申请百度OCR服务 1.1. 百度OCR登录 进入 百度智能云-登录 ,登入百度账号后,在产品应用里面选择文字识别服务。 点击进入后: 1.2 创建新应用 应用的名称自己填 应用归属:这里我选择是

weixin_43798572的博客 1万+
上一篇: H5 压缩图片上传(pc端适用)支持png/jpg格式(其他格式都会转为png)
下一篇: json报错。(原因:含有日期格式字段)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值