对于了解Google云端硬盘SDK如何工作的人,我还有另一个讨厌的问题。在Android平台上,我正在为JPEG图像文件创建自己的自定义缩略图(缩略图是父图像最重要细节的缩小JPG),尺寸有点不标准 - 384 x 128px,但在规定的范围内在documentation。所以,代码是这样的:
// 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缩略图 - s220类型。
我注意到了文档声明:
与可转位文本一样,Drive会自动为许多常见文件类型生成缩略图。对于快捷方式和其他文件类型驱动器无法呈现,您可以提供应用程序生成的缩略图图像。
暧昧地阅读它,我希望通过提供我自己的缩略图到已知的MIME类型,我将保持Google Drive不生成其标准的,但可能并非如此。所以问题仍然存在。我的问题有解决方案吗?拥有标准“image / jpeg”MIME类型的自定义缩略图?或者有一个解决方法,也许是另一个自定义字段,我可以粘贴一些10Kb的二进制数据?我需要Android浏览器中的缩略图 - 另一个应用程序。
谢谢你,肖恩
答案 0 :(得分:1)
Google云端硬盘仅对非标准MIME类型使用自定义缩略图,因此您无法覆盖jpeg的缩略图。您的应用可以使用自定义文件属性来存储和读取专有数据: