OkHttp3下载文件失败

简介: 场景:服务端将文件放入输出流中,安卓端采用OkHttp3下载失败,但同样的方法可以下载百度上的文件。 原因:经排查,为安卓端采用OkHttp3下载调用进度条获取不到文件大小而出错,而进度条获取文件大小通过文件头“Content-Length”获取,推测服务端没有传该参数。 纠错:服务端输出文件流的时候添加文件头。//HttpServletResponse respres

场景:服务端将文件放入输出流中,安卓端采用OkHttp3下载失败,但同样的方法可以下载百度上的文件。
原因:经排查,为安卓端采用OkHttp3下载调用进度条获取不到文件大小而出错,而进度条获取文件大小通过文件头“Content-Length”获取,推测服务端没有传该参数。
纠错:服务端输出文件流的时候添加文件头。

//HttpServletResponse resp
resp.setHeader("Content-Length", ""+file.length());
相关文章
|
3月前
|
Java
Java通过HttpClient从外部url下载文件到本地
该Java程序旨在通过URL将外部网络文件(如图片)下载至本地,并解决防盗链问题。首先,它通过`HttpGet`请求获取远程文件,并通过设置`Referer`头防止防盗链。然后,根据响应内容类型确定文件后缀并保存至指定路径。测试表明,程序能够成功下载文件。
516 8
Java通过HttpClient从外部url下载文件到本地
|
5月前
|
前端开发 Java API
Android端通过HttpURLConnection上传文件到服务器
Android端通过HttpURLConnection上传文件到服务器
78 0
|
前端开发
前端:下载文件(多种方法)
前端:下载文件(多种方法)
866 0
|
JSON API Apache
基于OkHttp网络通信工具类(发送get、post请求、文件上传和下载)
okhttp是专注于提升网络连接效率的http客户端。 优点: 1、它能实现同一ip和端口的请求重用一个socket,这种方式能大大降低网络连接的时间,和每次请求都建立socket,再断开socket的方式相比,降低了服务器服务器的压力。 2、okhttp 对http和https都有良好的支持。 3、okhttp 不用担心android版本变换的困扰。 4、成熟的网络请求解决方案,比HttpURLConnection更好用。 5、支持异步发送网络请求,响应可在线程处理。
requests--文件上传,文件下载
requests--文件上传,文件下载
|
JSON 数据格式
Okhttp post请求数据和使用中的一些问题
Okhttp post请求数据和使用中的一些问题
|
Java
OkHttp3源码解析(一)之请求流程
带你从源码理解OkHttp3的原理
2754 0
Okhttp3源码解析(2)-Request分析
前言 前面我们讲了Okhttp的基本用法Okhttp3源码解析(1)-OkHttpClient分析 今天主要分析下Request源码! Request初始化 当我们构建完OkHttpClient对象,需要构造Request对象,构造方式如下: 1.
989 0
|
Android开发 数据格式 XML
okhttp3下载文件检测进度与断点续传
之前有用过retrofit来做下载的功能,虽然retrofit基于okhttp,但是这还是有点不同。 我是在做更新功能的时候用到这个,具体的操作可能不会说太多,因为网上能找到很多基本的操作,我就说下一些流程和BUG,不管是okhttp还是retrofit都适用。
2390 0