iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android如何使用腾讯X5浏览器上传图片
  • 628
分享到

Android如何使用腾讯X5浏览器上传图片

2023-06-14 09:06:44 628人浏览 泡泡鱼
摘要

小编给大家分享一下Android如何使用腾讯X5浏览器上传图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这几天在客户端接入一个WEB页的客服系统,用来接受用户

小编给大家分享一下Android如何使用腾讯X5浏览器上传图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

这几天在客户端接入一个WEB页的客服系统,用来接受用户的反馈和建议。Android客户端集成这个客服H5之后,图片死活传递不上去。看了一下iOS同事的集成效果,可以自由上传图片,再把H5的地址用Android原生浏览器打开,也可以正常打开相册上传图片。

Android如何使用腾讯X5浏览器上传图片

看了一些博客,使用Android的WebView在默认情况下是不能够支持上传文件的(需要重写 onShowFileChooser方法)。那就只能撸起袖子自己干了。

项目中使用的浏览器内核是腾讯X5浏览器,那就去腾讯X5的技术文档看看有没有实现方式:TBS开发指引, 找了一下发现还真有

Android如何使用腾讯X5浏览器上传图片

1、文件选择

方法一: 文件单选:设置client回调

mWebView.setWebChromeClient(new WebChromeClient() {  @Override  public void openFileChooser(    ValueCallback<Uri> uploadFile,    String acceptType,     String captureType) {    //保存对应的valuecallback供选择后使用    //通过startActivityForResult启动文件选择窗口或自定义文件选择  } });

文件多选:设置client回调

mWebView.setWebChromeClientExtension(new ProxyWebChromeClientExtension() {  @Override  public void openFileChooser(    android.webkit.ValueCallback<Uri[]> uploadFile,     String acceptType,    String captureType) {    //保存对应的valuecallback供选择后使用    //通过startActivityForResult启动文件选择窗口或自定义文件选择    }});

方法二: 设置client回调(单选多选均会回调该接口)

mWebView.setWebChromeClient(new WebChromeClient() {  @Override  public boolean onShowFileChooser(    IX5WebViewBase webView,     ValueCallback<Uri[]> filePathCallback,    FileChooserParams fileChooserParams) {    //保存对应的valuecallback供选择后使用    //通过startActivityForResult启动文件选择窗口或自定义文件选择  }  });

然后在activity返回时将用户的选择设置给对应的ValueCallback

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  //如果是文件选择  if (resultCode == RESULT_OK) {    //给文件选择的ValueCallback设置onReceiveValue值  } else if (resultCode == RESULT_CANCELED) {    //给文件选择的ValueCallback设置null值  }}

2、实现文件单选

在项目自定义的WebChromeClient 中,重写openFileChooser方法, 调用项目中图片选择组件,图片选择成功后将生成的uri使用valueCallback回调,即可上传成功

  // 图片单选上传  @Override  public void openFileChooser(ValueCallback<Uri> valueCallback, String s, String s1) {    Log.i(TAG, "openFileChooser: acceptType: " + s + "  captureType: " + s1);        // 调用项目中图片选择组件    // 图片选择成功后将生成的uri使用valueCallback回调     // 即可上传成功      }  // 很多博客介绍了, 要写很多Android各个api的兼容代码, 其实不用。 X5在这个方法底层其实实现了兼容各系统的能力,不需要上层开发者来实现。 只需实现这一个方法即可

实现效果:

Android如何使用腾讯X5浏览器上传图片

3、举个例子

为简单起见, 集成一个第三方的图片选择控件

GitHub.com/thewyp/Avat…

集成方式:

dependencies {        ...        compile 'me.thewyp:avatar:1.0.4'      }

使用方式:

new AvatarStudio.Builder(activityContext)              .needCrop(true)//是否裁剪,默认裁剪              .setTextColor(Color.BLUE)              .dimEnabled(true)//背景是否dim 默认true              .setAspect(1, 1)//裁剪比例 默认1:1              .setOutput(200, 200)//裁剪大小 默认200*200              .setText("打开相机", "从相册中选取", "取消")              .show(new AvatarStudio.CallBack() {                @Override                public void callback(String uri) {                   //uri为图片路径                   Picasso.with(activityContext).load(new File(uri)).into(mImageView);                }              });

实现Web上传图片

public class WebChromeClientImpl extends WebChromeClient {  ......    // 图片单选上传  @Override  public void openFileChooser(ValueCallback<Uri> valueCallback, String s, String s1) {    Log.i(TAG, "openFileChooser: acceptType: " + s + "  captureType: " + s1);        new AvatarStudio.Builder(context)      .needCrop(true)//是否裁剪,默认裁剪      .setTextColor(Color.BLUE)      .dimEnabled(true)//背景是否dim 默认true      .setAspect(1, 1)//裁剪比例 默认1:1      .setOutput(200, 200)//裁剪大小 默认200*200      .setText("打开相机", "从相册中选取", "取消")      .show(new AvatarStudio.CallBack() {        @Override        public void callback(String uri) {          //uri为图片路径          valueCallback.onReceiveValue(Uri.parse(uri)); // 将生成的Uri使用valueCallback 回调给X5底层,实现图片上传        }      });  }  ......}

以上是“Android如何使用腾讯X5浏览器上传图片”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Android如何使用腾讯X5浏览器上传图片

本文链接: https://www.lsjlt.com/news/269846.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何使用腾讯X5浏览器上传图片
    小编给大家分享一下Android如何使用腾讯X5浏览器上传图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这几天在客户端接入一个Web页的客服系统,用来接受用户...
    99+
    2023-06-14
  • Android 使用腾讯X5浏览器上传图片的示例
    目录1、文件选择2、实现文件单选3、举个例子这几天在客户端接入一个Web页的客服系统,用来接受用户的反馈和建议。Android客户端集成这个客服H5之后,图片死活传递不上去。看了一下...
    99+
    2024-04-02
  • html5中canvas移动浏览器上如何实现图片压缩上传
    这篇文章主要介绍html5中canvas移动浏览器上如何实现图片压缩上传,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、<input type="file"...
    99+
    2024-04-02
  • HTML5可预览多图片如何使用Ajax上传
    这篇文章主要介绍了HTML5可预览多图片如何使用Ajax上传,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、关于图片上传什么什么的在XHT...
    99+
    2024-04-02
  • 浏览器网页无法上传图片的解决方法
    这篇文章主要为大家展示了“浏览器网页无法上传图片的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“浏览器网页无法上传图片的解决方法”这篇文章吧。方法/步骤:刷新浏览器,点击设置图标并选择“...
    99+
    2023-06-27
  • 如何利用QT实现图片浏览器
    这篇文章主要介绍了如何利用QT实现图片浏览器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何利用QT实现图片浏览器文章都会有所收获,下面我们一起来看看吧。1、概述案例:制作一个小的图片浏览器,要求可以显示jp...
    99+
    2023-07-05
  • Java如何实现浏览器端大文件分片上传
    小编给大家分享一下Java如何实现浏览器端大文件分片上传,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景介绍  Breakpoint-http,是不是觉得这个名...
    99+
    2023-06-20
  • 使用Ajax怎么上传图片并预览
    使用Ajax怎么上传图片并预览?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最近在使用ThinkPHP5开发项目中客户有一个需求是在图片上传时附带预览功能。虽然...
    99+
    2023-06-08
  • vue.js如何实现图片转Base64上传图片并预览
    这篇文章主要为大家展示了“vue.js如何实现图片转Base64上传图片并预览”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js如何实现图片转Base6...
    99+
    2024-04-02
  • javascript如何实现图片预览和上传
    小编给大家分享一下javascript如何实现图片预览和上传,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下var dailiApply = { ...
    99+
    2024-04-02
  • AngularJs如何实现上传前预览图片
    小编给大家分享一下AngularJs如何实现上传前预览图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!demo.html:&l...
    99+
    2024-04-02
  • 怎么用html5的canvas移动浏览器实现图片压缩上传
    这篇文章主要介绍“怎么用html5的canvas移动浏览器实现图片压缩上传”,在日常操作中,相信很多人在怎么用html5的canvas移动浏览器实现图片压缩上传问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 如何android在中使用springMvc实现图片上传功能
    本篇文章为大家展示了如何android在中使用springMvc实现图片上传功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。具体内容如下Android端:String fileName = tvF...
    99+
    2023-05-31
    android roi springmvc
  • 如何实现MPBrowser简易图片浏览器
    这篇文章主要介绍“如何实现MPBrowser简易图片浏览器”,在日常操作中,相信很多人在如何实现MPBrowser简易图片浏览器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • vue.js如何实现图片上传预览及图片更换功能
    这篇文章将为大家详细讲解有关vue.js如何实现图片上传预览及图片更换功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图:样式以及效果图一并展示1.HTML<...
    99+
    2024-04-02
  • 如何实现Ajax上传图片及上传前先预览功能
    这篇文章将为大家详细讲解有关如何实现Ajax上传图片及上传前先预览功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。上传之前的预览方式一先来说说图片上传之前的预览问题。这...
    99+
    2024-04-02
  • 如何在Vue中使用axios上传图片
    如何在Vue中使用axios上传图片?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在vue和axios的配合下实战一波<!--   &nbs...
    99+
    2023-06-15
  • JS+HTML5如何实现上传图片预览效果
    这篇文章给大家分享的是有关JS+HTML5如何实现上传图片预览效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例代码如下:<!DOCTYPE HTML>...
    99+
    2024-04-02
  • jquery如何实现图片上传前本地预览
    这篇文章主要为大家展示了“jquery如何实现图片上传前本地预览”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery如何实现图片上传前本地预览”这篇文章吧...
    99+
    2024-04-02
  • SSH三大框架使用谷歌浏览器上传文件浏览器崩溃
        最近,用SSH三大框架(虽然这个东西比较老,但是个人比较喜欢)做个东西,发现在用form表单做文件上传时,点击浏览文件,然后浏览器直接崩溃掉;然而,不是解决办法的办法是切换输入法非搜狗输入法,...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作