base64字符串转换成图片文件
import sun.misc.BASE64Encoder;
public static boolean GenerateImage(String imgStr, String imgFilePath) {
if (imgStr == null) // 图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
// Base64解码
byte[] bytes = decoder.decodeBuffer(imgStr);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
// 生成jpeg图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
遇到的是怎样的问题呢,说说需求是怎样的
~
~
~
需要在php端处理base64字符串里的头部信息
贴一段我正在用的
php($stream是你传上来的base64
//获取扩展名和文件名
if (preg_match('/(?<=\/)[^\/]+(?=\;)/',$stream,$pregR)) $streamFileType ='.' .$pregR[0]; //读取扩展名,如果你的程序仅限于画板上来的,那一定是png,这句可以直接streamFileType 赋值png
$streamFileRand = date('YmdHis').rand(1000,9999); //产生一个随机文件名(因为你base64上来肯定没有文件名,这里你可以自己设置一个也行)
$streamFilename = $upPath."/".$streamFileRand .$streamFileType;
//处理base64文本,用正则把第一个base64,之前的部分砍掉
preg_match('/(?<=base64,)[\S|\s]+/',$stream,$streamForW);
if (file_put_contents($streamFilename,base64_decode($streamForW[0]))===false) Common::exitWithError("文件写入失败!","");//这是我自己的一个静态类,输出错误信息的,你可以换成你的程序
字符串,假设随机命名,如果你不要随机命名,可以改streamFileRand 的值,$upPath是你上传路径):
// 从网上复制过来的,试试吧
// 要砍掉前面的data:image/png;base64,(如果有的话)
function base64_to_jpeg( $base64_string, $output_file ) {
$ifp = fopen( $output_file, "wb" );
fwrite( $ifp, base64_decode( $base64_string) );
fclose( $ifp );
return( $output_file );
}
$image = base64_to_jpeg( $my_base64_string, 'tmp.jpg' );
Base64算法原理及实现
Base64编码的基本流程如下:例如,将字符串"ABC"进行Base64编码流程如下。所以,字符串"ABC"经过Base64编码后的数据是"QUJD"。从Base64编码的原理可以看到,Base64实际上就是把原来数据中的每3个字节一组进行Base64编码转换,编码之后变成4个Base64字符。但是如果原文数据长度不是3的整数倍的时候该怎么...
JAVA怎么将PDF的base64转换成jpg的base64
JAVA怎么将PDF的base64转换成jpg的base64 现在有一串base64字符串,为pdf格式,先想要将其转换成jpg格式的base64,如何做... 现在有一串base64字符串,为pdf格式,先想要将其转换成jpg格式的base64,如何做 展开 我来答 3个回答 #热议# 孩子之间打架 父母要不要干预? 巨形菜鸟 2020-02-25 知道答主 ...
如何判断一个字符串是否经过base64加密过
但是,我们可以通过Base64编码后的特征来判断大概判断(可能误判)。Base64是一种将任意数据串,转换成可以用 [A-Za-z0-9\/+=] 这64个字符组成的可见字符串的方法。其中 “=”只能出现在末尾,最多2个,最少0个。因此,当一个字符串正则匹配 [A-Za-z0-9\/+]+[=]{0,2} 的集合中时,则...
C++ 把字符串转为base64
_In_ int nSrcLen,_When_(*pnDestLen > 0, _Out_writes_to_(*pnDestLen, *pnDestLen)) LPSTR szDest,_Inout_ int *pnDestLen,_In_ DWORD dwFlags = ATL_BASE64_FLAG_NONE)用法:input: buf(byte), buflen, out StringA, outLen, 转换模式.Base64Encode(buf,buflen,strA.GetBuffer(...
Android中用base64转换完之后的字符串加入到url中,发现出现空指针异常...
百度是最好的老师:标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“\/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'=...
如何判断一个字符串是否经过了base64
base64要在后面添加\\0凑齐3n位。为了正确还原,添加了几个\\0就加上几个等号。显然添加等号的数目只能是0、1或2;4.严格来说base64不能算是一种加密,只能说是编码转换。使用base64的初衷。是为了方便把含有不可见字符串的信息用可见字符串表示出来,以便复制粘贴;
微信小程序 base64格式图片的展示保存及pdf打开
需要回车换行替换为''即可。(注意:若imgData返回数据中含有data:image\/png;base64,时,data参数需要写成:imgSrc.slice(22),意思为:这里是把 data:image\/png;base64, 这一段去除)用wx.base64ToArrayBuffer()将 Base64 字符串转成 ArrayBuffer 对象并去空格,再写入文件,最后打开。
base64转文件(blob)遇到的一个问题
在过程中,发现报错如下:failed to execute 'atob' on 'window': the string to be decoded is not correctly encoded.在Google后,仍然不能解决,~~o(>_<)o ~~后来在看atob和btoa的demo时发现base64字符串仅仅是后面的乱七八糟字符串好吗,没有前面的名片。var str = "Hello World!";var ...
安卓开发中怎么将文件转换成base64字符串
将文件转成base64 字符串,android 手机开发的时候会用到,当然在android有转base64的方法,这里调用的是jdk的api [代码] [Java]代码 01 package com.xbl.test;02 03 import java.io.File;04 import java.io.FileInputStream;05 import java.io.FileOutputStream;06 07 import sun...
vue 上传图片时 base64 怎么传到java后台
1、org.apache.commons.codec.binary.Base64.decodeBase64(这里传入src属性里的base64 的一串字符串);2、返回值是一个Byte[];3、字节流传送到文件。备注:这里Base64只是提供预览,其实可以保留原始的url传给后台的。
薄查玛尔: 先解码 base64编码的文本,解码后得到图片的字节集数据,你可以直接把这个字节集数据写入到空文件里面,然后改好后缀名就是一张图片了
卫滨区17764203232: base64字符串转换成图片文件 - ?
薄查玛尔: 需要在php端处理base64字符串里的头部信息 贴一段我正在用的 php($stream是你传上来的base64 //获取扩展名和文件名 if (preg_match('/(?<=\/)[^\/]+(?=\;)/',$stream,$pregR)) $streamFileType ='.' .$pregR[0]; //读取扩展名,如果你的程序仅限于画...
卫滨区17764203232: js base64转图片 - ?
薄查玛尔: 可以处理,不过效率比较低 eugeneware/jpeg-js这个是JPG的编码,要用canvas获取到位图然后再算法重编码就行了 具体的代码里面都有,在encode的最下面
卫滨区17764203232: 如何将base64加密的字符串转换成image显示在网页上 - ?
薄查玛尔: import sun.misc.BASE64Encoder; public static boolean GenerateImage(String imgStr, String imgFilePath) {if (imgStr == null) // 图像数据为空return false;BASE64Decoder decoder = new BASE64Decoder();try {// Base64解码byte[] bytes = ...
卫滨区17764203232: word中如何显示base64编码的图片 - ?
薄查玛尔: word中不能直接显示base64编码的字符串为图片哦,可以先base64编码的字符串转为图片,然后把图片插word文档即可.http://www.it399.com/m/image/base64 ,使用这个在线工具可以进行base64转图片,望采纳,谢谢!
卫滨区17764203232: 将base64位转换成png图片的java代码 - ?
薄查玛尔: //base64字符串转化成图片public static boolean GenerateImage(String imgStr){ //对字节数组字符串进行Base64解码并生成图片if (imgStr == null) //图像数据为空return false;BASE64Decoder decoder = new BASE64Decoder();try{//Base...
卫滨区17764203232: 图片是一串base64编码,c# 怎么转成实体图片保存到服务器 - ?
薄查玛尔: 这个问题分两个部分, 1,base64转码成文件. string data = "xcuivosfoamfodamf;mzxcvl;....."; byte[] byteimage = Convert.FromBase64String(data); byteImage就是这个图片的二进制流. 2、接下来你要存,可以直接把二进制流存进SqlServer或者Oracle,读的时候直接读出来(不推荐,因为很慢很占空间); 也可以存成文件(File)存到FTP服务器,需要的时候根据路径进行下载.
卫滨区17764203232: base64的byte[]如何转换成图片 - ?
薄查玛尔: 在C#中 图片到byte[]再到base64string的转换: Bitmap bmp = new Bitmap(filepath); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms....
卫滨区17764203232: android 程序 从数据库获取的base64类型的字符串转换成图片 再通过HashMap 传进入 但是图片显示不了 - ?
薄查玛尔: 可以把bitmap图片和base64字符串来互相转换~ 从此妈妈再也不用担心我处理bitmap啦~ /** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bitmap bitmap, int ...
卫滨区17764203232: 安卓中从数据库取出图书后如何转换成png - ?
薄查玛尔: 可以把bitmap图片和base64字符串来互相转换~ 从此妈妈再也不用担心我处理bitmap啦~/*** 将bitmap转换成base64字符串** @param bitmap* @return base64 字符串*/public String bitmaptoString(Bitmap bitmap, int bitmapQuality) {// 将...