这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
在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文件 就可以通过上传文件的方式,上传到服务器上了.
- }
来源: http://www.phperz.com/article/17/0912/345912.html