webView选择图片遇到的坑

时间:2024-04-01 08:01:01

1.兼容问题

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

3.上传至服务器失败

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

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

1.兼容问题

这个自行百度无非就是重写WebChromeClient里的几个方法webView选择图片遇到的坑

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

2.上传至服务器后缀不正确webView选择图片遇到的坑

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

webView选择图片遇到的坑

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

webView选择图片遇到的坑

3上传至服务器失败

webView选择图片遇到的坑
因为服务器的js文件中使用h5中的localStorage,客户端的webview默认不支持,改下就好啦
webView选择图片遇到的坑

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

这个百度百度就好了,重写WebChromeClient的这两个方法,返回自己写的Dialog
webView选择图片遇到的坑
最后Demo献上点击打开链接(最近积分不够了,赚点分,只需1个积分哦)