详细问题描述
nvue页面,使用web-view原生组件,导致web-view加载的网页页面不能触发input标签进行图片上传,导致这样的原因大致百度了一下是因为安卓5.0及以上使用input type="file"上传图片的时候,WebChromeClient下的openFileChoose()调用无效,苹果手机不存在此问题(安卓手机使用vue页面也不存在此问题,但是现在因为业务原因必须得使用原生的nvue页面)
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
重现步骤
[步骤]
在nvue页面使用web-view组件,页面加载完毕后,点击input标签进行图片上传;
[结果]
无法触发input标签的上传图片,调用不了系统选择图片的功能;
[期望]
能够正常调用图片上传功能
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
[windows版本号]
windows10
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
app
[运行端版本号]
2.6.15
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]
v3模式
App运行环境说明
[Android版本号]
android8
[iOS版本号]
[手机型号]
红米redmi手机
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
h5页面:
<input type="file" accept="image/*" id="one-specific-file" name="one-specific-file" class="imgDownLoad" onchange="addImg()">
联系方式
[QQ]
459114173
3 个回复
459114173 (作者) - 90IT
大致百度了一下的原因是安卓5.0以上,input页面上传图片调用的,很多5.0以上的系统使用openFileChooser()方法不能唤起系统相册或第三方app来选择图片,所以在5.0以上要重写
onShowFileChooser(),所以为了解决这个问题兼容各个版本,我们需要对openFileChooser()进行重载,同时针对5.0及以上系统,但是我不知道怎么重写这个原生方法呀,希望官方能够给修复一下呢,谢谢了!!!
参考地址:https://blog.csdn.net/fuzhongbin/article/details/78769527
DCloud_uni-ad_HDX
已确认2.6.x版本不支持,HBuilderX2.7.6+版本已修复。
459114173 (作者)
嗯嗯,好的,已经切换了思路了
2020-04-29 10:02
x***@outlook.com
很忧伤的回复一下,这个版本的HBuilderX 有很多问题,我现在的项目之前是好好的,更新后部分功能异常,而且input file 这个功能 在 百度的 Webupload 插件中没啥效果
2020-05-31 22:59
x***@outlook.com
终于解决了,可喜可贺,我也发了同样的帖子,没人回复我
DCloud_uni-ad_HDX
有时可能是没复现或问题太多被顶下去了没看到,问题下多回复几次
2020-06-01 14:54
树摇风
回复 DCloud_uni-ad_HDX: 今天一早将HBuilder升级到2.7.9版本,真机编译和打包都出现加载不出页面,跟作者demo出现的状况一模一样,测试发现tabbar页面能加载webview标题,但是页面不显示任何内容,非tabbar页面能正常显示内容,希望得到DCLOUD解决办法
2020-06-02 11:55
x***@outlook.com
回复 DCloud_uni-ad_HDX: 嗯嗯,谢谢您的帮助
2020-06-06 17:17
DCloud_uni-ad_HDX
回复 树摇风: tabbar webview 问题已修复,更新HBuilderX 2.7.11
2020-06-08 11:09
x***@outlook.com
回复 DCloud_uni-ad_HDX: 大佬,大佬,帮忙看看我提的问题呗,谢谢啦 https://ask.dcloud.net.cn/question/98690 https://ask.dcloud.net.cn/question/98703
2020-06-08 11:14