成功通过java api将图片文件上传到谷歌文档

问题描述:

我需要将谷歌格式的图片上传到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); 

请看看这个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