android 文件上传工具类,Android快速开发架构PlanA(五),文件上传下载了解一下...

1.PlanA文件上传&下载的使用

PlanA架构集成第五篇,文件上传下载的使用,文件上传&下载在APP里面随处可见,发朋友圈要上传图片或者短视频,换个头像要上传选择的图片,office附件要看需要下载,APP版本更新需要下载apk等等,在APP里面,上传下载也算是必不可少的功能,这篇文章主要就是从简单实用出发,构造一个功能强大的文件上传下载框架。

4594db517d73

文件上传/下载.png

2.文件上传

String taskId = RetrofitClient.getInstance()

.upload("api/uploadFile")

.param("token", "xxx")

.upFile(file)

.execute(new FileUploadCallback() {

@Override

public void onUpLoadSuccess(ResponseBody responseBody) {

Log.d("debug","上传成功");

}

@Override

public void onUpLoadFail(Throwable e) {

Log.e("error","上传失败");

}

@Override

public void onProgress(long bytesWritten, long contentLength) {

if (bytesWritten >= contentLength) { // 上传完成

Log.d("debug","当前上传进度100%");

} else {

int progress = (int) ((bytesWritten * 1.0) / contentLength * 100);

Log.d("debug","上传进度:" + progress + "%");

}

}

});

// 取消上传任务

RetrofitClient.getInstance().cancelRequest(taskId);

3文件下载

String filePath = Environment.getExternalStorageDirectory() + File.separator + "test.png";

String taskId = RetrofitClient.getInstance().download("files/test.png").execute(filePath, new FileDownloadCallback() {

@Override

public void onSuccess(File file) {

Log.d("debug","下载成功");

}

@Override

public void onFail(Throwable throwable) {

Log.e("error","下载失败");

}

@Override

public void onProgress(long current, long total) {

if (current >= total) { // 下载完成

Log.d("debug","当前下载进度:100%");

} else {

int progress = (int) ((current * 1.0) / total * 100);

Log.d("debug","下载进度:" + progress + "%");

}

}

});

// 取消下载任务

RetrofitClient.getInstance().cancelRequest(taskId);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值