h5 android上传本地视频文件,关于webview适配H5上传照片或者视频文件的方法

本文介绍了如何在Android中使用H5页面实现上传本地视频文件的功能。通过设置WebChromeClient并响应input file标签,实现从手机相册或相机选择视频并上传到服务器。关键在于处理onShowFileChooser回调,根据文件类型启动相应选择器,并在选择后通过回调传回文件路径或URI。
摘要由CSDN通过智能技术生成

一、需要实现的功能:

用H5实现的App中需要在H5获取手机中的照片或者视频文件上传到服务器。

4f2505a8b9374e7d5371703df532e836.png

二、分析实现方法:

由于不懂前端开发,不知道H5中有 input file之类的标签控件,可以用来选择文件,刚开始的思路还是想着native 端是否要通过提供inputstream流方式,将文件内容传递给JS。后来和前端沟通之后,H5在电脑端都是用input 设置type为 file 来实现文件选择功能,于是才开始搜索资料,发现时需要在webview中设置  setWebChromeClient ,其中有对input 的响应回调:

三、具体实现:

前端代码

native端代码:

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

@Override

public boolean onShowFileChooser(WebView webView,

ValueCallback filePathCallback,

WebChromeClient.FileChooserParams fileChooserParams) {

mFilePathCallbacks = filePathCallback;

// TODO: 根据标签中得接收类型,启动对应的文件类型选择器

String[]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值