美文网首页
关于文件下载

关于文件下载

作者: 杰子他爸 | 来源:发表于2019-08-22 19:27 被阅读0次

implementation'com.qianwen:okhttp-utils:3.8.0'

implementation'com.lzy.net:okgo:3.0.4'

 可以利用以上两种网络请求框架之一,进行文件的下载。

OkHttpUtils.getInstance()

.init(this)

.debug(true, "okHttp")

.timeout(20 *1000);

OkGo.getInstance().init(this);

/**

* 下载

*

* @param url      下载地址

* @param path    文件保存路径

* @param fileName 文件名称

* @param callback 回调

*/

@Override

public void download(@NonNull String url, @NonNull String path, @NonNull String fileName, @NonNull final FileCallback callback) {

OkGo.get(url).execute(new com.lzy.okgo.callback.FileCallback(path, fileName) {

@Override

        public void onSuccess(com.lzy.okgo.model.Response response) {

callback.onResponse(response.body());

        }

@Override

        public void onStart(com.lzy.okgo.request.base.Request request) {

super.onStart(request);

            callback.onBefore();

        }

@Override

        public void onError(com.lzy.okgo.model.Response response) {

super.onError(response);

            callback.onError("异常");

        }

@Override

        public void downloadProgress(Progress progress) {

super.downloadProgress(progress);

            callback.onProgress(progress.fraction, progress.totalSize);

        }

});

}

/**

* 下载

*

* @param url      下载地址

* @param path    文件保存路径

* @param fileName 文件名称

* @param callback 回调

*/

@Override

public void download(@NonNull String url, @NonNull String path, @NonNull String fileName, @NonNull final FileCallback callback) {

OkHttpUtils.get()

.url(url)

.build()

.execute(new FileCallBack(path, fileName) {

@Override

                public void inProgress(float progress, long total, int id) {

callback.onProgress(progress, total);

                }

@Override

                public void onError(Call call, Response response, Exception e, int id) {

callback.onError(validateError(e, response));

                }

@Override

                public void onResponse(File response, int id) {

callback.onResponse(response);

                }

@Override

                public void onBefore(Request request, int id) {

super.onBefore(request, id);

                    callback.onBefore();

                }

});

}

又或者利用系统原生的DownloadManager。

又或者你用你所想的

相关文章

  • 关于文件下载

    使用xcode自带的代理方法。 1.使用NSUrlContionDownloadDelegate. 1)内存不会暴...

  • 关于文件下载

    引言 由于项目需要,需要实现对特定Excel模板数据的导入操作,而模板需要由开发人员设计,而模板需要对各种数据做校...

  • 关于文件下载

    implementation'com.qianwen:okhttp-utils:3.8.0' implementa...

  • 【关于下载文件】

    一个链接 ,放浏览器中会下载一个文件出来。 处理方式有2类 1 前端处理成文件 2 后端处理成文件 1 前端处理成...

  • Moved Permanently

    关于下载文件中包含重定向问题的解决方案。之前下载文件没问题,但是今天遇到一个下载文件里包含重定向,还是用之前的下载...

  • 关于前端进行文件下载

    最近在做关于适用js进行文件上传下载的功能,在下载部分遇到了一些问题,特此记录下来。 首先关于文件下载在后端我能想...

  • 关于servlet下载单文件

    从事IT行业,已经很长一段时间了。很多东西还处于初级阶段。比如,简单的servlet下载,自己还是无法理解。以前,...

  • 关于文件下载的总结

    最近使用java 语言 ,实现了一下针对文件下载的功能。 使用JDK 有很多类,能够实现该功能,如 1 FileI...

  • 关于文件上传和下载

    1.用servlet来做 这个你要写的servlet是要extends httpservlet,在doGet 与d...

  • 超详细已解决|关于python怎么下载|如何下载python文件

    超详细|关于python怎么下载|如何下载python文件教程|python下载安装的教程 很多朋友开始学习Pyt...

网友评论

      本文标题:关于文件下载

      本文链接:https://www.haomeiwen.com/subject/wjdbsctx.html