浅析Android 快速实现图片压缩与上传功能

 更新时间:2017年08月01日 14:31:36   作者:wmz199123  
在Android对手机相册中的图片的压缩和上传到服务器上,这样的功能在每个app开发中都会有这样的需求.所以今天就对android端怎么快速实现图片压缩和上传进行简单的分析

由于最近项目更新功能比较的忙,也没时间去整理自己的知识点和管理自己的博客.在Android对手机相册中的图片的压缩和上传到服务器上,这样的功能在每个app开发中都会有这样的需求.所以今天就对android端怎么快速实现图片压缩和上传进行简单的分析.

首先需要对图片进行压缩,这方面可以使用第三方的库,我在实际的开发中使用的是 compile ‘top.zibin:Luban:1.0.9'使用也比较的方便,代码如下:

/**
   * 
   * @param path 代表的是图片的uri路径
   */
private void getFile(Uri path) {
   File file = new File(path.getPath());//创建文件
    Luban.get(this)
        .load(file)           // 传入要压缩的图片
        .putGear(Luban.THIRD_GEAR)   // 设定压缩档次,默认三挡自己可以选择
        .setCompressListener(new OnCompressListener() { // 设置回调
          @Override
          public void onStart() {
            // 压缩开始前调用,可以在方法内启动 loading UI
          }
          @Override
          public void onSuccess(File file) {
            // 压缩成功后调用,返回压缩后的图片文件
            zipIcon(file);
          }
          @Override
          public void onError(Throwable e) {
          }
        }).launch();
  }
 // 压缩并上传至服务器
  private void zipIcon(File file) {
    RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"), file);
    MultipartBody.Part formData = MultipartBody.Part.createFormData(Constant.AVATAR, "xxx.png", requestBody); 
    //上传到服务器 
    // 这样得到formData文件 就可以通过上传文件的方式,上传到服务器上了.  
  }

相关文章

  • Android仿微信视屏悬浮窗效果

    Android仿微信视屏悬浮窗效果

    这篇文章主要为大家详细介绍了Android仿微信视屏悬浮窗效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • android不同activity之间共享数据解决方法

    android不同activity之间共享数据解决方法

    最近做局域网socket连接问题,要在多个activity之间公用一个socket连接,就在网上搜了下资料,感觉还是application方法好用,帖出来需要的朋友可以参考下
    2012-11-11
  • Android更新UI的四种方法详解

    Android更新UI的四种方法详解

    大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,我大致总结了4种方式,有需要的朋友们可以参考借鉴。
    2016-09-09
  • Android  view自定义实现动态进度条

    Android view自定义实现动态进度条

    这篇文章主要介绍了Android view自定义实现动态进度条的相关资料,这里提供实例代码及实现效果图,需要的朋友可以参考下
    2016-12-12
  • 解决RecycleView分割线不居中的三种方法

    解决RecycleView分割线不居中的三种方法

    这篇文章主要为大家分享了解决RecycleView分割线不居中的三种方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android内存溢出及内存泄漏原因进解析

    Android内存溢出及内存泄漏原因进解析

    这篇文章主要介绍了Android内存溢出及内存泄漏原因解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Android使用fastjson库解析json字符串实战

    Android使用fastjson库解析json字符串实战

    fastjson是一个Java语言编写的高性能功能完善的JSON库,它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库,Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景
    2023-11-11
  • Android仿QQ列表左滑删除操作

    Android仿QQ列表左滑删除操作

    这篇文章主要为大家详细介绍了Android仿QQ列表左滑删除操作的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Flutter 和 Android 互相传递数据的实现

    Flutter 和 Android 互相传递数据的实现

    这篇文章主要介绍了Flutter 和 Android 互相传递数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Android仿微信语音消息的录制和播放功能

    Android仿微信语音消息的录制和播放功能

    这篇文章主要介绍了Android仿微信语音消息的录制和播放功能,需要的朋友可以参考下
    2017-09-09

最新评论