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

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

文件上传/下载.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);

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

  1. 操作SD卡,获取文件目录及文件工具类Android,listView

    操作SD卡,获取文件目录及文件工具类Android 1.获取文件目录及文件工具类: DirectoryInfo  FileScan 1.1 DirectoryInfo: package com.gls ...

  2. spring boot 文件上传工具类(bug 已修改)

    以前的文件上传都是之前前辈写的,现在自己来写一个,大家可以看看,有什么问题可以在评论中提出来. 写的这个文件上传是在spring boot 2.0中测试的,测试了,可以正常上传,下面贴代码 第一步:引 ...

  3. FastDFS 文件上传工具类

    FastDFS文件上传工具类 import org.csource.common.NameValuePair;import org.csource.fastdfs.ClientGlobal;impor ...

  4. 分享一个文件上传工具类

    文件上传状态枚举类: View Code 1 package com.hoo.enums; 2 3 4 5 /** 6 7 * <b>function:</b> 文件上传状态 ...

  5. java的springboot项目操作阿里云OSS下载文件、查看文件内容、上传文件,自定义工具类

    因为要从oss下载.查看.上传工具类,所以对这几个方法做了一个封装,已经经过测试,可以直接使用 1.yml添加上阿里云配置.添加maven配置 注意这里的objectName: xxx/xxx/,前面 ...

  6. 文件上传工具类FileUploadUtils

    文件上传工具类FileUploadUtils StringUtil MimeTypeUtils FileUploadUtils 异常类 FileNameLengthLimitExceededExcep ...

  7. Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片

    文件上传的工具类: 每次文件上传要写很多东西,把这些封装成一个工具类,以后用起来就会方便很多. 先创建一个类存储上传文件的信息: package com.upload; /*** 每上传成功一个文件的 ...

  8. 阿里云oss文件上传工具类

    阿里云oss文件上传工具类 阿里云oss 阿里云oss 导入文件阿里云oss的maven依赖 <!-- 阿里云oss依赖 --><dependency><groupId& ...

  9. FTP文件上传工具类

    import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.a ...

最新文章

  1. 综述 | 语言分析技术在社会计算中的应用
  2. vue 引入bootstarp --webpack
  3. php 带下划线的函数,[宜配屋]听图阁
  4. springboot集成邮箱功能
  5. java 装饰器模式
  6. labview利用簇模拟汽车控制_在LabVIEW应用程序中何时应采用面向对象技术 (翻译)...
  7. bzoj 1597 [Usaco2008 Mar]土地购买——斜率优化dp
  8. 鸿蒙系统上线 华为内部人员喷了,鸿蒙系统上线?华为人员表示:勿上当 山寨网站...
  9. strcore.cpp(156) 内存泄漏
  10. mysql数据 lt =_MySql之数据操作
  11. 离职10天,面了4家公司,我的感受...
  12. 微信小程序——发送模板消息
  13. 指数波段划分以及底部反弹行业特征统计分析
  14. 在VMware上安装Android虚拟机
  15. 微信公众号网页授权多域名解决方案
  16. 安利自己读CS博士的鸡汤
  17. 总结一下自己的linux历程
  18. java读取cmyk_用于检测CMYK图像的JAI ImageIO的纯Java替代品
  19. 为什么敲了许多年的代码,却仍然在原地踏步?| 程序员有话说
  20. 群晖DS918+ 二合一 分区扩充教程

热门文章

  1. 纵览神经架构搜索方法
  2. 设计模式-17-迭代器
  3. 网络工程师(2) 操作系统
  4. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。...
  5. spring将service添加事务管理,在applicationContext.xml文件中的设置
  6. [学习总结]6、Android异步消息处理机制完全解析,带你从源码的角度彻底理解
  7. 转载-做一个双向自豪的人
  8. AndroidStudio_下载和安装---Android原生开发工作笔记67
  9. Uncaught (in promise) Error: timeout of 10000ms exceeded---SpringCloud Alibaba_若依微服务框架改造---工作笔记009
  10. Vue插件_自己封装插件_以及使用自定义插件---vue工作笔记0017