1

我想上傳一個演示,使用谷歌API驅動器,但呈現不完全去一些幻燈片是空白,看着這些日誌這是顯示谷歌驅動器的SDK錯誤上傳演示

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(); 

UPDATE

做了一些測試,它似乎是錯誤只發生在上傳演示與擴展名.pptx

是否有任何問題,該擴展的mimeType?

我希望有人能提前幫助我,thx。

回答

0

好像resumable upload protocol沒有正確執行。 308響應代碼指示只有一部分請求已上傳,您應繼續處理下一個塊。

如果從代碼中刪除以下行,它能正常工作嗎?

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

Thx for you answer,但是如果我刪除那行代碼,我無法上傳大於5 MB的文件。 – Alexander

+0

做了一些測試,似乎錯誤只發生在上傳與擴展名爲.pptx的演示文稿時 – Alexander