2013-04-27 80 views
1

对于了解Google Drive SDK的工作原理的人来说,我还有一个讨厌的问题。在Android平台上,我为JPEG图像文件创建了自己的自定义缩略图(缩略图是父图像最重要细节的缩小JPG),尺寸有点不标准 - 384 x 128像素,但在限制范围内在documentation。因此,代码是这样的:标准MIME类型Google Drive自定义缩略图

// thumbnail 
String myThumb = "test.tnl"; 
Thumbnail tn = new Thumbnail(); 
tn.setMimeType("image/jpeg"); 
tn.setImage(Base64.encodeBase64String(myThumb.getBytes())); 
// define meta-data 
File body = new File(); 
body.setTitle("test.jpg"); 
body.setDescription("bla bla");   
body.setMimeType("image/jpeg"); 
body.setThumbnail(tn); 
File gooFl = drvSvc.files() 
    .insert(body, new FileContent("image/jpeg", new java.io.File(test.jpg))) 
    .execute(); 

和完美执行(有更多的“身体”的元素,我不一一列举),一切工作就像一个魅力。但是当我下载图片时,我的缩略图消失了,取而代之的是标准的Google thumbnail - s220类型。

我注意到的文档声明:

与索引的文本,自动变频器产生了许多常见的文件类型的缩略图。对于快捷方式和其他文件类型,驱动器无法呈现,您可以提供由应用程序生成的缩略图图像。

阅读它含糊,我希望通过提供我自己的缩略图到一个已知的MIME类型,我将保留谷歌驱动器从产生它的标准之一,但它可能并非如此。所以问题依然存在。有没有解决我的问题?为标准“image/jpeg”MIME类型定制缩略图?还是有一个解决方法,也许另一个自定义字段,我可以坚持一些10Kb的二进制数据?我需要Android查看器中的缩略图 - 另一个应用程序。

谢谢,肖恩

回答

1

谷歌驱动器将只使用非标准MIME类型的自定义缩略图,所以你不能覆盖一个JPEG。您的应用程序可以使用自定义文件属性来存储和读取的专有数据:

https://developers.google.com/drive/properties

+0

谢谢克劳迪奥,这就是我认为(但我试过,反正)。我正在研究你的建议解决方案(我想是一个新功能)。再次,感谢一百万。 sean – seanpj 2013-05-01 13:06:51

+0

如果文档中显示“对于Drive无法呈现的快捷方式和其他文件类型”,是否包含标准MIME类型的大文件,Google Drive无法创建缩略图? 我在我的云端硬盘中看到很多大的PDF(例如> 20 MB)或大的JPG文件(例如> 50 MegaPixels),其中没有显示缩略图。我没有找到Google云端硬盘可以处理的预览最大尺寸(以字节或像素为单位)的文档。 我的应用程序为这些大文件生成预览并通过API发送更新请求。它没有返回错误,但仍然没有预览可见。 – 2015-03-03 21:44:57

+0

@弗朗索瓦在这里一样。我也尝试更新大图片的缩略图,但没有成功。 API返回了200,但没有缩略图。我试过这TIF和PSD,但没有成功?有没有已知的行为或什么问题? – 2015-05-07 13:47:12