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文件 就可以通过上传文件的方式,上传到服务器上了.   
    }


希望这篇文章对你的工作和学习有所帮助,大家一起进步加油!!!!!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值