
当作为具有数据URI前缀(数据:img / png; base64)的HTML img元素的src放置时,我已成功呈现字符串,但是当使用atob函数或goog闭包函数时,它失败。
但是,解码在这里放置成功:http://www.base64decode.org/
有任何想法吗?
编辑:
我成功地将其解码为除了内置的Js函数之外的另一个库。但是,它仍然不会在本地打开 – 在Mac上说它损坏或未知的格式,无法打开。
代码就像这样:
imgEl.src = 'data:img/png;base64,' + contentStr; //this displays successfullydecodedStr = window.atob(contentStr); //this throws the invalID char exception but i just//used a different script to get it decode successfully but still won't display locally
base64字符串本身太长,无法显示(限制为30,000个字符)
解决方法 我刚刚把头撞在墙上一段时间。这个问题有几个可能的原因。 1)Utf-8问题。这里有一个很好的解决方案。 http://monsur.hossa.in/2012/07/20/utf-8-in-javascript.html
在我的情况下,我也必须确保所有的空格都不在字符串之前传给atob。例如
function decodeFromBase64(input) { input = input.replace(/\s/g,''); return atob(input);} 真正令人沮丧的是,base64使用python中的base64库正确解析,而不是在Js中解析。
总结以上是内存溢出为你收集整理的DOM异常5在javascript中有效的base64图像字符串上的INVALID CHARACTER错误全部内容,希望文章能够帮你解决DOM异常5在javascript中有效的base64图像字符串上的INVALID CHARACTER错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)