由于某种原因,以前工作的代码停止工作,服务器开始响应416。
以下是失败交互期间HTTP客户端的日志:
-------------- REQUEST --------------
GET https://www.googleapis.com/drive/v3/files/0B02Nopv3SQOvOVNKaDIwTEZ3MHd?alt=media
Accept-Encoding: gzip
Authorization: <Not Logged>
Range: bytes=0-33554431
User-Agent: My app Google-API-Java-Client Google-HTTP-Java-Client/1.22.0 (gzip)
-------------- RESPONSE --------------
HTTP/1.1 416 Requested range not satisfiable
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
Server: UploadServer
Cache-Control: private, max-age=0
Content-Range: bytes */0
X-GUploader-UploadID: AEnB2UqBx9B09Lnr8tG761gdoz3DkhHSNO_OzHh1LkU6B2908v17rnBGQZSNW4ZVTjbRdFtvPWWIqZGdtSrTo6ZWN7YW9nxf6d
Vary: X-Origin
Vary: Origin
Expires: Mon, 11 Sep 2017 15:23:20 GMT
Content-Length: 225
Date: Mon, 11 Sep 2017 15:23:20 GMT
Content-Type: application/json; charset=UTF-8
我试图下载一个大约200000字节的文件,所以我想到&#34; chuck size&#34;在某处更改,因此它无法为282177字节文件提供33554431个字节。尝试将其更改为较小的值,但没有成功。
Drive.Files.Get get = drive.files().get(file.getId())
MediaHttpDownloader downloader = get.getMediaHttpDownloader()
downloader.directDownloadEnabled = false
localFile.newOutputStream()
get.executeMediaAndDownloadTo(stream)
直接下载也不起作用,它只是下载&#34; 0&#34;字节。 有谁知道如何克服这个问题?
答案 0 :(得分:0)
416 Range Not Satisfiable 错误表示服务器无法提供请求的范围。该 最可能的原因是该文件不包含此类范围, 或者Range标头值虽然在语法上是正确的,但并不是 有道理。
此forum可能提供的解决方案之一是:
添加&#34;接受范围:无&#34;到我们的回复标题。
答案 1 :(得分:0)
使用Firefox时似乎是一个Web界面。它在某些情况下上传了“空”文件。
https://productforums.google.com/forum/#!topic/drive/S03wEknc75g;context-place=forum/drive