Android Chromium WebView中<input type="file">不支持文件扩展名过滤
Android WebView中文件选择器扩展名过滤失效问题
我开发了一款前端UI基于WebView的Android应用,该应用允许用户选择文件进行处理,但以下代码无法正常工作:
<input type="file" accept=".cbz,.epub,.txt" />
即使是扩展名正确的文件(如childrens-literature.epub)也全部呈灰显状态,无法选择:

已在Edge Chromium和Chrome浏览器的Codepen上测试,未出现此问题,因此判定仅Chromium WebView存在该问题,且在Android 13模拟器和真机上均会出现,但Apple iOS WebView可正常运行。
可行的替代方案是指定MIME类型,但对于.cbz这类无通用MIME类型的扩展名,此方法并不适用:
<input type="file" accept="application/epub+zip,text/plain" />
我未找到相关的bug报告,请问我是否操作有误?是否存在可行的解决办法?若这是bug,应向何处反馈?
进一步测试结果
- 混合使用扩展名与MIME类型时,仅MIME类型会生效(可选择.txt文件,但无法选择.epub文件):
<input type="file" accept=".epub,text/plain" />
- 仅指定单个扩展名同样无效,由此确认WebView完全不支持文件扩展名过滤:
<input type="file" accept=".epub" />
内容的提问来源于stack exchange,提问作者Luke Vo
相关产品推荐
相关产品推荐

