【发布时间】:2014-02-19 00:59:51
【问题描述】:
以下 2 个代码 sn-ps 演示了我在使用新的 Google Drive Android API / Google Play Services 4.2 (libver 15) 时遇到的问题。还是我不知道的功能?为了保持代码简单,所有的错误检查和初始化都被删除了。
1/ 我创建了一张“image/jpeg” MIME 类型的图片;
GoogleApiClient mGAC;
byte[] jpgBuffer;
DriveFolder fldr;
ContentsResult rslt = Drive.DriveApi.newContents(mGAC).await();
Contents cont = rslt.getContents();
cont.getOutputStream().write(jpgBuffer);
MetadataChangeSet meta = new MetadataChangeSet.Builder()
.setTitle("foo.jpg").setMimeType("image/jpeg")
.build();
fldr.createFile(mGAC, meta, cont);
Drive 中的一切都很好。图像在那里,看起来很棒,我什至可以将它发送给我妈妈。但这不是我所追求的。我想在我的 Android 应用程序的另一部分中检索它。
2/ 所以我试试这个:
Query query = new Query.Builder().addFilter(
Filters.eq(SearchableField.MIME_TYPE, "image/jpeg")
).build();
MetadataBufferResult rslt = Drive.DriveApi.query(mGAC, query).await();
for (Metadata md : rslt.getMetadataBuffer()) {
Log.d("TAG", md.getTitle() + " " + md.getMimeType());
}
结果:什么都没有。
我不会放弃,所以下一步是寻找任何文件。我在步骤 1/ 中保存的文件“foo.jpg”显示为“image/png”MIME 类型。
【问题讨论】:
-
您是否尝试过将 mimetype 设为“image/*”。这样它将处理任何图像格式
-
这个问题非常具体到“Google Drive Android API”,AFAIK 不支持通配符。
-
我们会看看这个,但是您上传的二进制数据是否有可能实际上是 png 格式?
-
你比我早了 7 分钟。所以它最终可能是关于 MIME 元数据字段所有权的争论。
标签: android google-drive-api google-play-services google-drive-android-api