您的位置:首页 > 移动开发 > Android开发

android 快速实现图片压缩与上传

2017-08-01 11:48 417 查看
由于最近项目更新功能比较的忙,也没时间去整理自己的知识点和管理自己的博客.在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文件 就可以通过上传文件的方式,上传到服务器上了.
}


希望这篇文章对你的工作和学习有所帮助,大家一起进步加油!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息