【问题标题】:google drive sdk error uploading presentationsgoogle drive sdk 上传演示文稿时出错
【发布时间】:2012-11-05 22:21:02
【问题描述】:

我正在尝试使用 google api 驱动器上传演示文稿,但演示文稿不完整,有些幻灯片是空白的,看日志就是这样

com.google.api.client.http.HttpRequest execute: -------------- REQUEST  --------------
PUT https://www.googleapis.com/upload/drive/v2/files?    uploadType=resumable&upload_id=AEnB2UrDPJgLIehcqH--aWgwl-   R_atDhqdvbXnJiWMXKE0V0euJGOvULbM4y5YmvUePWaHSrYyFdOgsmTASJGe-Dtvg09NCkzQ
Accept-Encoding: gzip
Authorization: Bearer ya29.AHES6ZTfSaK77NGCcZO1bK_aTbT8zVX3eslOAb8BkrvpeXARK94XsXY
Content-Range: bytes 0-1048575/6774302
User-Agent: Google-HTTP-Java-Client/1.11.0-beta (gzip)
Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation
Content-Length: 1048576

com.google.api.client.http.HttpRequest execute: curl -v --compressed -X PUT -H 'Accept-        Encoding: gzip' -H 'Authorization: Bearer     ya29.AHES6ZTfSaK77NGCcZO1bK_aTbT8zVX3eslOAb8BkrvpeXARK94XsXY' -H 'Content-Range: bytes 0-    1048575/6774302' -H 'User-Agent: Google-HTTP-Java-Client/1.11.0-beta (gzip)' -H 'Content-Type:     application/vnd.openxmlformats-officedocument.presentationml.presentation' -d '@-' --     https://www.googleapis.com/upload/drive/v2/files?    uploadType=resumable&upload_id=AEnB2UrDPJgLIehcqH--aWgwl-    R_atDhqdvbXnJiWMXKE0V0euJGOvULbM4y5YmvUePWaHSrYyFdOgsmTASJGe-Dtvg09NCkzQ << $$$

com.google.api.client.http.HttpResponse <init>: -------------- RESPONSE --------------
308 OK
server: HTTP Upload Server Built on Oct 3 2012 16:52:30 (1349308350)
range: bytes=0-1048575
x-range-md5: 19230c1c1a0fc493f3431f46cf30c14c
date: Mon, 05 Nov 2012 22:00:33 GMT
pragma: no-cache
expires: Fri, 01 Jan 1990 00:00:00 GMT
cache-control: no-cache, no-store, must-revalidate
content-length: 0
content-type: text/html; charset=UTF-8
x-google-cache-control: remote-fetch
via: HTTP/1.1 GWA

这是正在使用的代码:

byte[] myFile = readImageData(blobKey,size);
ByteArrayContent mediaContent = new ByteArrayContent(mimeType, myFile);

Drive.Files.Insert insert = service.files().insert(body, mediaContent);
insert.getMediaHttpUploader().setChunkSize(1024 * 1024);
File file = insert.execute();

更新

做一些测试,似乎只有在上传扩展名为 .pptx 的演示文稿时才会出现错误

该扩展的 mimeType 有什么问题吗?

希望有人能帮助我,谢谢。

【问题讨论】:

    标签: java google-app-engine google-drive-api google-docs-api google-api-java-client


    【解决方案1】:

    resumable upload protocol 似乎没有正确实现。 308响应码表示只上传了请求的一部分,你应该继续下一个块。

    如果您从代码中删除以下行,它是否可以正常工作?

    insert.getMediaHttpUploader().setChunkSize(1024 * 1024);
    

    【讨论】:

    • 谢谢你的回答,但如果我删除那行代码,我将无法上传大于 5 MB 的文件。
    • 做一些测试,似乎只有在上传扩展名为 .pptx 的演示文稿时才会出现错误
    猜你喜欢
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多