webView选择图片遇到的坑

1.兼容问题

2.上传至服务器后缀不正确

3.上传至服务器失败

4.去除webview默认提示框上的标题

最近项目需要用webView加载一个网页,之前此网页是在微信端加载的,现在放到我们的APP中。网页中有选择图片并上传的功能,但是碰到很多坑。

1.兼容问题

这个自行百度无非就是重写WebChromeClient里的几个方法

其中webCall不用管,是我的回调。然后重写Activity的onActivityResult方法接收到uri,调用onReceiveValue就行了

2.上传至服务器后缀不正确

因为服务器对文件的后缀有判断,而我们获取的uri可能是这样的content://media/external/images/media/231321。截取最后面就没有了图片格式,这是不行的。因此,使用此方法转化一下(代码是网上百度的)


那么,拿着转换后的uri上传就不会有问题啦(InstallApkUtils.getUri方法不用管,是为了解决这个问题的点击打开链接)


3上传至服务器失败


因为服务器的js文件中使用h5中的localStorage,客户端的webview默认不支持,改下就好啦

4.去除webview默认提示框上的标题

这个百度百度就好了,重写 WebChromeClient的这两个方法,返回自己写的Dialog

最后Demo献上点击打开链接(最近积分不够了,赚点分,只需1个积分哦)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值