AndroidWebView<inputtype="file"/>不遵守accept属性中指定的文件扩展名过滤。
创始人
2024-10-12 02:32:21
0

在 Android WebView 中,可以通过以下代码实现对文件类型的过滤:

1.首先,需要重写 WebChromeClient 的 onShowFileChooser() 方法来拦截文件选择器的弹出事件。

2.在这个方法中,可以获取到用户选中的文件类型,然后自定义一个过滤器将不需要的文件类型过滤掉。示例代码如下:

@Override
public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) {
    if (fileChooserParams.getAcceptTypes() != null && fileChooserParams.getAcceptTypes().length > 0) {
        // 获取 accept 属性中指定的文件类型
        String[] acceptTypes = fileChooserParams.getAcceptTypes();
        List filterList = new ArrayList<>();

        for (String type : acceptTypes) {
            // 这里可以根据自己的需求添加需要过滤的文件类型
            if (type.contains("image")) {
                filterList.add("image/*");
            } else if (type.contains("video")) {
                filterList.add("video/*");
            } else if (type.contains("audio")) {
                filterList.add("audio/*");
            }
        }
        // 将过滤器转换为数组
        String[] filterArray = new String[filterList.size()];
        filterArray = filterList.toArray(filterArray);

        // 这里可以自定义文件选择器的类型,比如使用系统文件选择器或自定义文件选择器等
        Intent intent = fileChooserParams.createIntent();

        // 设置文件选择器的过滤器
        intent.putExtra(Intent.EXTRA_MIME_TYPES, filterArray);

        // 开启文件选择器
        startActivityForResult(intent, FILE_UPLOAD_REQUEST_CODE);
        return true;
    } else {
        return super.onShowFileChooser(webView, filePathCallback, fileChooserParams);
    }
}

在 onActivityResult() 方法中获取文件路径并返回给 WebView。

相关内容

热门资讯

透视真的"wepok... 透视真的"wepoker透视脚本免费下载"详细辅助2025新版教程(有辅助器神器);大神普及一款德州...
透视ai代打"wep... 透视ai代打"wepoker有透视功能吗"详细辅助教你攻略(黑侠辅助器神器);wepoker有透视功...
透视透视"aapok... 透视透视"aapoker怎么选牌"详细辅助高科技教程(可以开透视辅助);原来确实真的有挂(需添加指定...
透视软件"hhpok... 透视软件"hhpoker真能买到挂吗"详细辅助AI教程(有插件透明)1、很好的工具软件,可以解锁游戏...
透视有挂"wepok... 透视有挂"wepokerplus透视脚本免费"详细辅助安装教程(到底有透视技巧)科技教程也叫必备教程...
透视有挂"wepok... 透视有挂"wepoker辅助器下载"详细辅助介绍教程(h5破解攻略);玩家必备必赢加哟《136704...
透视美元局"wepo... 透视美元局"wepoker怎么挂飞机"详细辅助规律教程(辅助脚本攻略)1、许多玩家不知道wepoke...
透视黑科技"uupo... 透视黑科技"uupoker有透视吗"详细辅助扑克教程(万能挂攻略);原来确实真的有挂(需添加指定薇1...
透视最新"智星德州可... 透视最新"智星德州可以透视吗"详细辅助可靠技巧(透视脚本苹果版软件);原来确实真的有挂(需添加指定薇...
透视软件"德州局hh... 透视软件"德州局hhpoker"详细辅助2025新版总结(透视脚本是有挂攻略);最新版2024是一款...