BASE64解码后的图片显示不完整

图片说明

上面是解码的代码,解码后进行保存出现图片不完整

图片说明

6个回答

应该是前台数据传过来时就已经丢失了部分数据,这个也可以用本地图片做测试,先把图片转成base64编码串,然后再用这个方法解码做测试。

linhaisong
linhaisong 如果截取的图片比较小能正常显示,截图比较大时保存就显示不全
3 年多之前 回复

恩恩,那问题估计在你截图哪一块。

我也发现这个问题了,比较大的图片转成base64后,会在ie浏览器显示不全。比如1440x900的图片就是这样,不知道怎么解决。。。

请问这个问题解决了吗?现在同样遇到这个问题,图片太大就不能显示完全

被这个问题折磨了很久,我的解决方式是:
因为ajax在传输过程中加号会变成空格而base64里是有加号的,所以在ajax传输前先要对base64进行编码,把加号替换成%2B的url编码。
var img = imageData.replace(/+/g,"%2B");
imageData就是原始的base64码

上面说的都不对!等我回实验室给你看怎么高效的用base64编码图片
https://blog.csdn.net/u013917701/article/details/80705903

qq_20138913
debug-mode 大神挂了吧
7 个月之前 回复
u013270103
孤舟自横 大哥,还活着么?
9 个月之前 回复
qq_37832184
qq_37832184 回复Danhui_X: 回去了两年都没到实验室
一年多之前 回复
Danhui_X
Danhui_X 大神回去没有
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
BASE64解码后的图片显示不完整问题
BASE64解码后的图片显示不完整从前端获取base64信息就后用以下代码进行处理,发现解析出来的图片会损坏。StringBuffer filePathStr=new StringBuffer(); for(int i=0;i<fileList.size();i++){ JSONObject fileObj = fileList.getJSONObject(i); if...
Base64解码Base64解码
Base64解码Base64解码Base64解码Base64解码Base64解码
图片显示不完整
记录一个bug 最近遇到一个非常难搞的问题,花了蛮长的时间才算解决了,这里记录一下自己的解决过程! 图片显示一半 我们的APP里面偶尔出现图片只加载了一部分的问题,但是其他用户显示是正常的,也不算必现,就是偶尔听用户报一下,之前也没有太过关注这个bug了,没有及时去处理,作为了一个遗留问题,延后解决! 随着时间的流逝,突然一个大boss直接将这个bug反馈到我们研发,而且还是比较重要的
base64 图片显示
New Document
base64解码后乱码的问题
请问为何对一份HTML邮件解码后出现rnǔ鹿谟ⅲ?/font>rn端哂谩?/span>rn核 ?人:rn等乱码,请问如何解决?rn函数如下rn private string deCodeB64(string strSrc)rn rn tryrn rn if(strSrc!="")rn rn byte[] by=Convert.FromBase64String(strSrc);rn strSrc=Encoding.Default.GetString(by);rn rn rn catch(Exception ex)rn return ex.ToString();rn return strSrc;rn
Base64解码
项目的log里有很多上传文件后的base64编码的字符串,想把它解码为原来的文件。 [code="python"] import base64 with open('c:/excelText.txt','r') as f1: s = f1.read() b = base64.decodebytes(bytes(s,encoding='UTF-8')) wit...
base64解码
rn“我的祖国”----base64---> ztK1xNfmufo=rnrn“おはよう”----base64---> pKqkz6TopKY=rnrnrn以上的base64存放在string中,如何解码才能让中文和日文在string中正常显示、输出到winform中呢?rnrnrn
Base64的解码?
为什么在Delphi6里提供Base64Encode函数而没有相关的解码函数。还是我没有找到,忘指教。
base64 解码
/wEPDwULLTExNDgzODY2MzkPZBYCAgMPZBYEAgMPZBYUZg9kFgICBQ8WAh4HVmlzaWJsZWdkAgEPFgIfAGhkAgIPFgIfAGcWBgIBDxYCHwBnZAIDDxYCHwBnZAIFDxYCHwBnZAIDDxYCHwBnFgYCAQ8WAh8AZ2QCAw8WAh8AZ2QCBQ8WAh8AZ2QCBA8WAh8AZ2QCBQ8WAh8AZxYEAgEPFgIfAGdkAgMPFgIfAGdkAgYPFgIfAGcWBAIBDxYCHwBnZAIDDxYCHwBnZAIHDxYCHwBnFggCAQ8WAh8AZ2QCAw8WAh8AZ2QCBQ8WAh8AZ2QCBw8WAh8AZ2QCCA8WAh8AZxYEAgEPFgIfAGdkAgMPFgIfAGdkAgkPFgIfAGcWCgIBDxYCHwBnZAIDDxYCHwBnZAIFDxYCHwBnZAIHDxYCHwBnZAIJDxYCHwBnZAIRDxYCHgtfIUl0ZW1Db3VudGZkZMeEYAYWTq5WZERLpVErIC9+bEwxiSsyS7UtDEBzwOTZrn请问这个是 base64位的,怎么解码,我有解了一些 但是中文全部是乱码?rn这是 asp.net 的 __VIEWSTATE 中的数据
wxpython->图片显示不完整
wxpython->图片显示不完整rnrn主要是运行后显示的图片仿佛边缘被裁减过的样子。谁能解释一下原因?rnrn[code=Python]rn#!/usr/bin/env pythonrnrn"""Hello, wxPython! program."""rnrnimport wxrnrnclass Frame(wx.Frame):rn """Frame class that displays an image."""rnrn def __init__(self, image):rn """Create a Frame instance and display image."""rn temp = image.ConvertToBitmap()rn size = temp.GetWidth(), temp.GetHeight()rn wx.Frame.__init__(self, parent=None, id=-1, title='Hello, wxPython!',rn pos=wx.DefaultPosition,size=size)rn self.panel = wx.Panel(self)rn wx.StaticBitmap(parent=self.panel, bitmap=temp)rn self.Centre()rn rnclass App(wx.App):rn """Application class."""rnrn def OnInit(self):rn image = wx.Image('img.jpg', wx.BITMAP_TYPE_JPEG)rn self.frame = Frame(image)rn self.frame.Show()rn self.SetTopWindow(self.frame)rn return Truernrndef main():rn app = App()rn app.MainLoop()rnrnif __name__ == '__main__':rn main()rnrn[/code]rn
BASE64Encoder 编码 图片显示不完整
InputStream is = new BufferedInputStream(new FileInputStream("D:\\001.jpg")); rnrn byte[] buffer = new byte[is.available()]; rn is.read(buffer);rn BASE64Encoder encoder = new BASE64Encoder(); rn this.setFileBaseData(encoder.encode(buffer));rnrn解码后图片显示不完整!rn那位大侠帮忙看看
android开发base64图片显示
Log.d("pmftest", "onResponse: 图片"+photoback); Bitmap bitmap=null; byte[]bitmapArray; bitmapArray=Base64.decode(photoback, Base64.DEFAULT); bitmap=BitmapFactory.decodeByteArray(bitmapArray,...
Base64解码后protobuf反序列化问题
2018-7-26 Base64解码后protobuf反序列化问题 消息体定义: 结构体值为: 该结构体经过protobuf序列化存储为[]byte后返回值为: 该[]byte数组base64后的结果为: 当使用以下函数:即先申请一片数组空间,长度为解码后的长度,然后将解码的值存至数组中,会得到与原值data不同的结果 会发现base64解码之后多了一个0 ...
base64解码后输入到word文件
jsp编程中,将word文件利用base64编码,生成形如0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAJgAAAAAAAAAAEAAAKQAAAAEAAAD+////AAAAACUAAAD这样的内容,现在讲这些内容存放到一个txt文件,然后[color=#FF0000]在jsp页面读取这些内容,并将这些 内容利用base64解码,然后输入到word文件中[/color],这个要怎么实现呢?rnrn从txt文件里面读取文件已经实现,现在不知道怎么解码base64,经显示到word中。求大牛解答rn[code=html] <%@ page language="java" contentType="text/html; charset=gb2312"rn pageEncoding="gb2312"%>rn <%@ page import="java.io.*" %>rn <%@ page import="sun.misc.BASE64Decoder"%>rn <%@ page import="sun.misc.BASE64Encoder"%>rnrnrnrn rn 使用JSP读取TXT格式文件rnrnrn<%rnString path="C:\\"; //目录分隔符必须用双斜杠rnFile file=new File(path,"abc.txt");rnFileReader fr=new FileReader(file); //字符输入流rnBufferedReader br=new BufferedReader(fr); //使文件可按行读取并具有缓冲功能rnStringBuffer strB=new StringBuffer(); //strB用来存储jsp.txt文件里的内容rnString str=br.readLine();rnwhile(str!=null)rn //out.println(str);rn strB.append(str).append(" "); //将读取的内容放入strBrn str=br.readLine();rnrnbr.close(); //关闭输入流rnfr.close();rn%>rn<%=strB %>rn<% rnBASE64Decoder decoder = new BASE64Decoder();rnbyte[] decoderBytes = decoder.decodeBuffer(strB.toString());rnwrite.write(decoderBytes);rn%>rnrnrn[/code]
急。对base64编码后的字符串进行base64解码
我在看联通的协议文档,他举了一个列子rnrn联通文档有这个的列子 rn密钥的base64编码是: rn27jrWz2sxrVbR+pnyg6jWHhgNk4sZo46 rnDECODE后密钥是: rnkey=-37,-72,-21,91,61,-84,-58,-75,91,71,-22,103,-54,14,-93,88,120,96,54,78,44,102,-114,58; rnrnrn就是对那个密钥进行base64解码。。但是我解码以后发现和他不一样啊,c#里面有convert.frombase64string,解出来都是正数啊。 rnrn到底怎么解rn
WORD2010插入图片显示不完整解决办法
应该是因为你图片是嵌入型,而行距设置得又太小的原因,只要选择图片所在段落, 或者图片也可以,点“开始”中,“段落”右下角的箭头,将行距设置成单倍行距就可以了。 ...
base64编码与解码
base64编码与解码,vc++编写,MFC界面
Base64编码、解码
完成Base64的编码解码过程、使得在网络传输过程中不至于出现不可处理的乱码。
Base64解码工具
Base64解码工具(149K),解码,转码工具。
Base64编码和解码字符串
闲来无事用C++写了一个Base64编码和解码的小程序 Base64.h #ifndef _BASE64_H #define _BASE64_H /* Base64是一种基于64个可打印字符来表示二进制数据的表示方法,从本质上看Base64编码就是将三字节转四字节。 如果数据的长度不是3的整数倍,就要在后面补0再计算,每补2个0就再Base64串后加上1个‘=’。 Base64的不足之处
sun base64解码实现
博文链接:https://balaschen.iteye.com/blog/89111
Base64的转码与解码(Java1.8)
Java1.8 base64编码和解码
JS Base64编码/解码
例:javascript<br>/*<br> * Base64编码/解码<br> * 例:<br> * var obj=new Base64();<br> * var de=obj.Encode64("我的网站啊好");<br> * var En=obj.Decode64(de);<br> */
base64文件解码
$str = str_replace(' ', '+', $str); //替换空字符串为+ $str = str_replace('\n', '',$str); //置空换行符 $str = str_replace('\t', '',$str); $str = str_replace('\r', '',$str); $str = stripslashe
base64编码和解码
1:Base64存在的意义: 关于base64存在的意义在维基上是这么说的 Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 repres
Base64解码、编码python
#!usr/bin/python3 import base64 str='ab' c=base64.b64encode(str.encode()).decode() print(c) str2=b'YWI=' d=base64.b64decode(str2.decode()).decode() print(d)
javaSE 控制台 base64解码
用JDK中的base64类实现。package mypackage; import java.io.UnsupportedEncodingException; import java.util.Base64; import java.lang.String; import java.util.Scanner; public class ToBase64 { public static ...
Base64解码的问题
我在Asp中调用WebService服务,得到一个经过Base64编码的XML文件,但是rn我在Asp中解码之后,Response.write写不出来,写入文件看,内容也只有一部分rn对,其它是乱码。解码的程序是从网上copy的,应该没问题,就是对接收到的rn字符串进行解码操作。
base64解码出现乱码
用base64加密内容,当用base64解码的时候出现以字母开头的乱码,比如:TC4guN69ww==解出来的乱码是 L. 皋矫 rn
base64解码的相关问题
小弟我写了个截取SMTP数据包的程序rn 当邮件里面有中文的时候发现中文那些数据被base64加密了!rn所有我就自己写了个解密的东西!rn 但是程序却输出不了原来的汉字------的的的的的rn所以我把程序晒一下各位高手帮忙看下!rnrn#include "iostream"rn#include "string"rn#include "vector"rnusing namespace std;rnvoid encode(char* p);rnint table(char c_str); //根据base64表,由字符得到的十进制数rnvector ch_end; //根据上面得到的十进制数,得到原型rnvoid reduction(char a, char b,char c,char d,char* x,char* y,char* z);rnvoid printf_base64();rnvoid main()rnrn char ch[] = "Subject: =?gb2312?B?tcS1xLXEtcS1xA==?="; //从B?之后就是base64数据了一直到?=rn char *p = &ch[20];rn if((*(p-1) == 0x3f) && (*(p-2) == 0x42) && (*(p-3) == 0x3f))rn rn encode(p);rn rn rnrnrnvoid encode(char* p) rnrn int mark = 4;rn while(1)rn rn int i = 3; //表示取几个字符rn char a=*p,rn b=*(p+1),rn c=*(p+2),rn d=*(p+3); //得到编码后的4个字符用于得到编码前的3个字符rn char x ,y ,z ; //编码前的3个字符rn char *xx ,*yy ,*zz;rn xx = &x;rn yy = &y;rn zz = &z;rn if(c == '=' && d == '=')rn rn i = 1; //如果有2个等号那么就取转换后的1个字符rn a = table(a);rn b = table(b);rn c = 0x000000;rn d = 0x000000;rn else if(c != '=' && d == '=')rn rn i = 2; //如果有1等号那么就取转换后的2个字符rn a = table(a);rn b = table(b);rn c = table(c);rn d = 0x000000;rn else if(c != '=' && d != '=')rn rn a = table(a);rn b = table(b);rn c = table(c);rn d = table(d);rn rn ////////////////////////rn reduction(a,b,c,d,xx,yy,zz); //4变3rn ////////////////////////rn if(i == 3)rn rn ch_end.push_back(x);rn ch_end.push_back(y);rn ch_end.push_back(z);rn p+=mark;rn else if(i == 2)rn rn ch_end.push_back(x);rn ch_end.push_back(y);rn p+=mark;rn break;rn else if(i == 1)rn rn ch_end.push_back(x);rn p+=mark;rn break;rn rn rn printf_base64();rnrn//根据base64表得到十进制数rnint table(char c_str)rnrn int flag;rn c_str; rn if('a'<=c_str && 'z'>=c_str)rn rn flag = c_str-'a'+26;rn return flag;rn else if ('A'<=c_str && 'Z'>=c_str)rn rn flag = c_str-'A';rn return flag;rn rn switch (c_str)rn rn case '0': flag = 52;break;rn case '1': flag = 53;break;rn case '2': flag = 54;break;rn case '3': flag = 55;break;rn case '4': flag = 56;break;rn case '5': flag = 57;break;rn case '6': flag = 58;break;rn case '7': flag = 59;break;rn case '8': flag = 60;break;rn case '9': flag = 61;break;rn case '+': flag = 62;break; rn case '/': flag = 63;break; rn rn rn return (char)flag;rnrn//4个字节还原成3个字节rnvoid reduction(char a, char b,char c,char d,char* x,char* y,char* z) rnrn *x = a<<2 + (b<<2)>>6;rn *y = b<<4 + (c<<2)>>4;rn *z = c<<6 + (d<<2)>>2;rnrnvoid printf_base64() // 打印出原汉字rnrn for(vector::size_type i = 0;i != ch_end.size(); ++i)rn rn cout<
BASE64解码出现乱码
[code=C#]rn /*--- 初始值 ---*/rn string str = "UYE6nBdgkaV1uxZPzyIG5BYZmVvDl29tIvmp4XxWBsVxsw++yNwi86pYO/Wa8Kb7yMa8SueJA1Md8rDOlLGiSi/qSuJZ/lz/zM6lqpDvZgCjXSwFfcgoZJgZAFFxGOHjqBzOlp5k/WnG+9JJO20ROoF2a5lLhKXa509H6Mk4YUY=";rnrn /*--- 解码 ---*/rn string str2=System.Text.Encoding.Default.GetString(Convert.FromBase64String(str));rn /*--- str经过Base64解码后是乱码,后来用gb2312和utf-8编码方式来解码还是乱码 ---*/rn str2 = System.Text.Encoding.GetEncoding("gb2312").GetString(Convert.FromBase64String(str));rn str2 = System.Text.Encoding.GetEncoding("utf-8").GetString(Convert.FromBase64String(str));rnrn /*--- str经过Base64解码后还是乱码 ---*/rnrn[/code]rnrn有没有什么解决办法呢?rnrnrn
base64解码问题???
下面这一段rnrnu7bTrcq508MgR29vZ2xlINXKu6eho9KqvKS77sT6tcTVyrunsqLR6dakxPq1xLXn19PTyrz+tdjW\r\nt6Osx+u147v30tTPwsG0vdOjug0KDQpodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vVkU/c2Vy\r\ndmljZT1jbCZjPUNOV2k3UERfNHREVzVRRVEwNFg5cTllQmdwTmYmaGw9emhfQ04NCg0KKioq16LS\r\n4ioqKsfrtPLTobTL0rPB9Nf3vMfCvKGjyOe5+8T6yqfIpcHL1cq7p7fDzsrIqM/eo6jA/cjno6zI\r\n57n7xPrN/LzHwcvTwyANCrunw/u78sPcwuujqaOsvs3Q6NKq08O1vdHp1qTBtL3ToaMNCg0KyOe5\r\n+8T6tO3K1cHLtMvTyrz+o6y/ycTcysfG5Mv708O7p86qwe3Su7j2tefX09PKvP612Na3tLS9qNXK\r\nu6fKsc7zyuTI68HLxPq1xCANCrXn19PTyrz+tdjWt6GjyOe5+8T6sru147v30enWpMG0vdOjrM+1\r\nzbO+zbK7u+G8pLvuuMPVyrunoaMNCg0KyOe5+8T6w7vT0Mfrx/O0y7Xn19PTyrz+o6y1q772tqjK\r\nudPDu/LJvrP9tMvVyruno6y+zdDo0qrPyLfDzsrS1M/CzfjWt8rkyOvE+iANCrXEtefX09PKvP61\r\n2Na30tTW2NbD1cq7p8Pcwuujug0KaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1JlY292ZXJB\r\nY2NvdW50oaMNCg0KyOe5+7Xju/fS1MnPwbS908O709C3tNOmo6zH672ruMPN+Na3uLTWxrKi1bPM\r\n+bW90MK1xOSvwMDG97Swv9rW0KGjDQoNCrTL1sINCkdvb2dsZSDVyrun0KHX6b60yc8NCg0Kx+vX\r\notLio6y4w7Xn19PTyrz+tdjWt7K7xNy908rcu9i4tNPKvP6ho9KqveK+9s7KzOK7rn8sHLveLE+tXK\r\nu6e1xM/qx+mjrMfrt8POyiANCs7Sw8e1xLDv1vrW0rnrnrn放到网上的一些解码工具他能够解出来。。。rn但是rnConvert.FromBase64String(base64Encoded);rn老是报无效的字符串长度,我知道可能是这段编码中有 \r\n 但是把他们替换成“没有”也不行,那些解码工具他们怎么做到的~~~rn
base64解码实例
base64解码实例
Base64编码/解码
作者:韩梦飞沙 QQ:313134555 Base64编码/解码
Android端Base64编码与解码
Android对uid进行base64加密与解密(编码与解码)
BASE64编码与解码
实现方式: * 1.jdk7及以下自带的sun.misc.* * 2.jdk8自带的java.util.Base64; * 3.外界的包commons-codec-1.5.jar1.jdk8java.util.Base64工具类提供了一套静态方法获取下面三种BASE64编解码器: 1)Basic编码 2)URL编码 3)MIME编码 2.jdk7及以下BASE64编解码器
js base64编码与解码
我们可以用btoa来进行编码,用atob来进行解码,注意,低版本浏览器可能不支持 var str = &quot;China,中国&quot;; window.btoa(window.encodeURIComponent(str)) //&quot;Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ=&quot; window.decodeURIComponent(window.atob('...
base64转码、解码
最近有业务需要使用base64转码,现在整理一下 转码 window.btoa 解码 window.atob 示例 window.btoa("test") // dGVzdA== window.atob("dGVzdA==") // test 如果字符串中包含中文,直接使用btoa会报错,可以先使用encodeURIComponent进行编码 window.btoa(window.en...
base64解码工具
快捷方便的base64解码工具。在做PKI相关开发的时候,需要经常进行base64编码 解码。
base64 编码 解码 小工具
做个base64 小工具 给大家提供一些帮助 该工具支持文件加密解密
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法