其他手机又可以。。就三星手机不显示。 有人遇到过这样的问题吗?
<img src="data:image/png;base64,......" /> 我是这样的方式写的啊、搞了一天不知道什么原因
其他手机又可以。。就三星手机不显示。 有人遇到过这样的问题吗?
<img src="data:image/png;base64,......" /> 我是这样的方式写的啊、搞了一天不知道什么原因
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
正好用的是三星手机,顺带就测试了一下。
首先题主的问题明显是不合逻辑的。这种图片显示不出来,是和浏览器内核有关,而和系统或者手机品牌无太大关系。不过由于android自带有一个浏览器内核,这个倒是和系统版本有关的,但和品牌也无太大关连(个人所知,如有错误烦请指出,感激不尽)。另外在提问时,如果能够附上相关测试环境以及具体方法和代码等,能够让大家更容易帮到你。
因此,我就在手机上转换了一张图片并写了一个简单的html,并用firefox,自带的html viewer和自带浏览器分别测试了一下。结果是除了自带浏览器不能显示外,其余两个浏览器均能正常显示base64形式的图片,而由于我在html中加入的文字也没有显示出来,故推测是手机自带的浏览器不支持打开本地文件(file:///storage/sdcard2/test.html),于是我又打开手机上的php服务器软件,将文件改为index.php再次用自带浏览器打开时(http://127.0.0.1:8080),即显示正常了。但是意外间发现,是自带浏览器不能打开内存卡上的文件(已授予相关权限),故显示空白,而可以打开机身存储空间内的文件,因此自带浏览器也是能够正确显示base64图片的。
所以,个人的结论是,题主的测试方法有误,或者问题思考方向不对,还请重新测试。如有疑问可在下方评论留言。
附测试环境,Samsung Galaxy A系, Android 6.0, unrooted.
test.html:
<html><body><img src="data:image/png;base64, .. /">Test it!</body></html>
测试文件下载地址(已改后缀为.bak)
http://qfs.mobi/f3668004
最开始用的是jpg图像,后来又换成png格式,结果是相同的。
测试结果截图:






1.Firefox
2.HTML viewer
3.自带,文件在内置存储
4.自带,文件在内存卡上
5.利用php服务器软件进行测试