架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22637|回复: 2

[资料] 卧槽,base64字符串转图片终于搞定了

[复制链接]
发表于 2016-1-28 17:22:02 | 显示全部楼层 |阅读模式
QQ截图20160128160707.jpg

以前,也经常做base64转图片,从来没出现过什么问题,
今天,我前台用js把Canvas转成的Base64位字符串



bbb是我们得到的字符串,然后我用ajax传到的后台,如下;




后台接收代码:



我靠,竟然第二句报错了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


错误列表

{"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. "}
{"Invalid length for a Base-64 char array or string."}

第一个错误是,因为,字符串中带有data:image/jpeg;base64这玩意,把这玩意去掉就好了!



这段代码解决第一个错误!!!


第二个错误,不知道 因为啥错的,搞了一个小时,最后从老外论坛看到了几句话

The length of a base64 encoded string is always a multiple of 4. If it is not a multiple of 4, then = characters are appended until it is. A query string of the form ?name=value has problems when the value contains = charaters (some of them will be dropped, I don't recall the exact behavior). You may be able to get away with appending the right number of = characters before doing the base64 decode.

翻译后如下,大体看看就行了

一个Base64编码的字符串的长度是4的倍数。如果不是4的倍数,然后=字符追加直到。一个表格的查询字符串?name=value有问题的时候价值包含=特征(他们中的一些会下降,我不记得确切的行为)。你可以去添加正确的数量=人物之前做base64解码。

最后,加了几句代码,就搞定了,完整代码如下:







上一篇:推荐一款js图片裁切插件
下一篇:Microsoft.Office.Interop.Word文档动态生成表格
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2016-2-1 10:27:11 | 显示全部楼层
插件整个代码放上来啊
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2016-3-2 10:43:08 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 22:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表