浅析Android 快速实现图片压缩与上传功能
作者:wmz199123 发布时间:2022-10-15 23:58:01
标签: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文件 就可以通过上传文件的方式,上传到服务器上了.
}
来源:http://blog.csdn.net/wmz199123/article/details/76514131


猜你喜欢
- 目录效果展示实现步骤1.生成抽奖矩形:2.添加奖品图片:3.实现抽奖动画:4.实现动态设置参数:5.添加抽奖结果回调效果展示实现步骤1.生成
- 对象是使用new创建的,但是并没有与之相对应的delete操作来回收对象占用的内存。当我们完成对某个对象的使用时,只需停止对该对象的引用:将
- 今年春节晚会没看尽兴,被支付宝集福给添了一段插曲,朋友们都在那数定时间段不停的咻一咻,哇,我咻到一个敬业福,不可能的,哈哈。那么咻一咻功能基
- 一、ServletConfig讲解1.1、配置Servlet初始化参数在Servlet的配置文件web.xml中,可以使用一个或多个<
- C#实现的鼠标钩子,可以获取鼠标在屏幕中的坐标,记得要以管理员权限运行才行using System;using System.Collect
- 前言本文主要给大家介绍了关于Spring Boot集成之异步调用Async的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细
- 目录认识@Import注解搭建项目结构用于测试@Import用法最佳搭档 - @Import通用形式总结认识@Import注解先看一下源码@
- 泛型方法是使用类型参数声明的方法,如下所示:static void Swap<T>(ref T lhs, ref T rhs){
- 本文实例讲述了C#获取机器码的方法。分享给大家供大家参考,具体如下:using System.Runtime.InteropServices
- 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servl
- 实现官方文档说明:com.baomidou.mybatisplus.annotations.TableFieldTableField注解新增
- 本文实例讲述了java使用Hashtable过滤数组中重复值的方法。分享给大家供大家参考,具体如下:package org.eline.co
- 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。下面我们以水果为例,首先定
- Spring 提供了自动代理机制,可以让容器自动生成代理,从而把开发人员从繁琐的配置中解脱出来 。 具体是使用 BeanPostProces
- 在Java的6.0版本中新增了concurrent包,这个包是用作线程同步的包,提供了很多工具类。其中定时器就是其中之一。近期在做一个项目,
- 原理概述Lifecycle主要用于Activity、Fragment这一类具有状态的组件的状态监听,最主要的一个作用就是将原先Activit
- 当我们拿到一大段JSON字符串的时候,分析起来简直头皮发麻,相信很大一部分朋友也都会直接去BEJSON等网站去做一个JSON格式化,已方便自
- 智能终端上的游戏目前风头正劲,试问哪个智能手机上没有几款企鹅公司出品的游戏呢!之前从未涉猎过游戏开发,但知道游戏开发前要挑选一款合适的游戏引
- 先写在前面,这说的Settings加载选项是指Settings这个应用显示在主界面的选项,这个修改需要对系统源码进行修改。Android 7
- 在web页面上我们可以通过frameset,iframe嵌套框架很容易实现各种导航+内容的布局界面,而在winform、WPF中实现其实也很