android x5内核 上传多张图片,cordova+cordova-plugin-x5-webview(x5)内核在input(type=file)无法选取照片的问题...

博主在尝试了Flutter、mpvue和mui后,选择了vue-cli3+cordova进行开发,但遇到cordova内核CSS env()不兼容问题。尝试了crosswalk内核失败后,最终选择了腾讯的x5内核。然而在x5内核中,input[type=file]选择照片后无法返回路径。经过调试,发现是由于Android的文件选择API问题,通过修改代码成功解决。文章呼吁腾讯官方能修复此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我研究了flutter和mpvue后,我决定放弃mui以及flutter和mpvue,至于什么原因,日后文章会说明。目前我用的是vue-cli3+cordova;

但是cordova原生内核毕竟是比较老的,css中使用env可能会导致错误。于是必须引入其他内核最为替代;

目前已知的有crosswalk和腾讯x5内核

crosswalk:我试过,但是放弃了。原因不像网上说的那样是因为安装包大。而是因为我安装不了,各种报错还运行不起来,本着坚持不懈的原则我放弃了!!!╮( ̄▽ ̄")╭

最后我选择了我可以运行起来的x5内核

但是我发现一个很可怕的问题

在第一次运行app,一切的input(type=file)可以调起相册,但是选择照片后无法返回路径????我用的是红米做测试机;

基于我对鹅厂的信任!我甚至一度怀疑是我用的样式框架问题

p.s.我用的是滴滴的cube-ui这个在后期的文章我也会说明

最后用了各种方法测试,框架问题(明知道框架问题导致这个问题的可能性很低,但是我以为选择信任鹅厂);

就在今天,我决定花一天时间根治这个问题??

所以打开了as的debug模式

前端的研究android也是够够了。

好吧不吐槽了,看下我发现了什么

38c14b6df8ef04ec2d29beb76c0db620.png

选择图片以后报错了

错误位置在

56e5445b5d8a93788113310e6498a267.png

百度大法?谷歌大法?

需要使用Uri[] result = android.webkit.WebChromeClient.FileChooserParams.parseResult(resultCode, intent);

替换Uri[] result = FileChooserParams.parseResult(resultCode, intent);

正确的如下

207a32a5034c1784c9bfa87b9dc81c45.png

然后就可以正常上传了

鹅厂出来挨打

当然我希望官方可以处理下这个问题,毕竟我们手动处理只能针对这个问题而处理,不知道是否对其他地方有影响!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值