作者:辽宁何氏医学院视光张丽杰 | 来源:互联网 | 2023-08-20 19:53
众所周知,基于Webkit的WebView不能直接上传文件,网上普遍的做法是使用一个@hidden的非公开成员方法:setWebChromeClient的openFileChooser,可以打开一个文
众所周知,基于Webkit的WebView不能直接上传文件,网上普遍的做法是使用一个@hidden的非公开成员方法:setWebChromeClient的openFileChooser,可以打开一个文件选择窗口,但很不幸的是,它只允许选择几个有限的文件类型(图片/视频/录音之类),且只能以系统的ContentProvider的方式选择文件。这就意味着,其它类型或刚生成在/sdcard上还没有被纳入系统ContentProvider里的新文件没办法指定。
网上搜到了一个能把本地文件转换成contentProvider的办法,转换出来的url可以被WebView.loadUrl()正常使用,但作为上传文件输入路径时,不能被成功接受。
5 个解决方案
刚生成的可以自己加入到Content里,其他类型如果不支持,那就使用不了这控件了吧。