由于最近项目更新功能比较的忙,也没时间去整理自己的知识点和管理自己的博客.在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文件 就可以通过上传文件的方式,上传到服务器上了. }
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。