2012-04-23 83 views
0

我需要將谷歌格式的圖片上傳到Google文檔中,以便將其恢復並保存存儲uasage。在我的代碼示例下面,它最近工作正常,但最近斷了,我只得到一個空文檔。任何人都可以幫我嗎?成功通過java api將圖片文件上傳到谷歌文檔

DocsService client = new DocsService("testappv1"); 
client.setUserCredentials(username, password); 
client.setProtocolVersion(DocsService.Versions.V2); 
File file = new File("C:/test.jpg"); 
DocumentEntry newDocument = new DocumentEntry(); 
newDocument.setTitle(new PlainTextConstruct("test")); 
String mimeType = DocumentListEntry.MediaType.fromFileName(file.getName()).getMimeType(); 
newDocument.setMediaSource(new MediaFileSource(file, mimeType)); 
newDocument = client.insert(destFolderUrl, newDocument); 

回答

1

請看看這個answer。此外,從您的代碼中刪除此行:

client.setProtocolVersion(DocsService.Versions.V2); 

您應該儘可能使用默認版本(3.0)。

+0

嗨,阿蘭,我試過你的代碼,它確實有效。但我的問題是我想上傳一個圖像文件與谷歌格式爲了節省存儲空間。如果我刪除「convert = false」,那麼我仍然會得到一個空文檔。 – user1335794 2012-04-24 08:34:48

+0

在這種情況下,您需要上傳包含img標籤的HTML文件。該圖像可以鏈接到一個公共URL,但如果這不起作用,請將圖像作爲base64編碼的blob。 – Alain 2012-04-24 14:49:21

+0

嗨Alian,似乎base64編碼blob無法正常工作。我的代碼在下面。我使用'Base64.encode(out.toByteArray())'將圖像文件轉換爲base64字符串,然後編寫一個html文件(我已經將該文件寫入本地磁盤,它可以在帶有圖像的瀏覽器中打開)。但是當我上傳這個html文件到google文檔時,我仍然得到一個空文檔,即使我直接將我生成的html文件拖到google文檔中,我仍然會得到一個空文檔。 – user1335794 2012-04-25 09:20:24