webview中页面按钮获取手机图片并显示的问题

webview中页面按钮获取手机图片并显示的问题

10月1就这么愉快的过去了,今天突然一个激灵想到竟然忘了总结自己遇到的问题,万一哪天我得了老年痴呆可咋办啊,于是想起了记一下自己遇到的小坑来为我萌新程序员的道路上添加些新的标记!!

30号的时候,我的同事说:’‘我显示不了手机上的图片是为什么啊’’,我当时就一顿操作展示我在本地写的测试页面和调用以及显示,再后来我俩就大眼瞪小眼了(我的眼大,很大!!!),发现我是直接h5放到自己android工程下的,他的页面是放到服务器的所以…没法获取到本地地址.

问题

webview的调用服务器的html,在页面调用手机本地图片没法根据路径直接获取到本地图片的问题

解决办法

如果是服务器上的html src属性为”file://”+路径这个方法是无效的

办法:调用图库获取图片然后转成bast64在页面显示

注意: Base64.encodeToString(“你的二进制”, Base64.NO_WRAP);

CRLF 是使用CR LF这一对作为一行的结尾而不是Unix风格的LF
DEFAULT 这个参数是默认,使用默认的方法来加密
NO_PADDING 这个参数是略去加密字符串最后的”=”
NO_WRAP 这个参数意思是略去所有的换行符(设置后CRLF就没用了)
URL_SAFE 这个参数意思是加密时不使用对URL和文件名有特殊意义的字符来作为加密字符,具体就是以-和_取代+和/

所以我们用NO_WRAP然后在前面加上 ‘data:’+这个是你的文件类型+’;base64,'

另外记得图片进行压缩一下 毕竟耗时还是需要解决的, 压缩+缓存+bast64基本就够了,当然大佬们一定有更加优秀的方案了.我只是自己学习并记录下,如有错误还望各位大佬给与指点!

猜你喜欢

转载自blog.csdn.net/qq_34702058/article/details/82977310