다음 2 개의 코드 스 니펫은 새로운 Google 드라이브 Android API/Google Play 서비스 4.2 (libver 15)에서 문제가 있음을 보여줍니다. 아니면 내가 모르는 기능입니까? 코드를 단순하게 유지하기 위해 모든 오류 검사 및 초기화가 제거됩니다.MIME 유형이 'image/jpeg'에서 'image/png'로 변경되었습니다.
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);
드라이브에서 모든 것이 멋지고 멋쟁이입니다. 이미지가 멋져 보이고, 엄마에게도 보낼 수 있습니다. 그러나 이것은 내가 겪은 것이 아닙니다. 내 안드로이드 애플 리케이션의 다른 부분에서 그것을 검색하고 싶습니다.
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());
}
결과 :
2/그래서 난이 시도하지 크고, 지방 아무것도.
나는 포기하지 않으므로 다음 단계는 모든 파일을 찾는 것입니다. 그리고 1 단계에서 저장 한 "foo.jpg"파일은 "image/png"MIME 유형으로 표시됩니다.
mimetype을 "image/*"로 사용해 보셨습니까? 이렇게하면 모든 이미지 형식이 처리됩니다. – Sushil
질문은 'Google 드라이브 Android API'에만 해당되며 AFAIK에는 와일드 카드가 지원되지 않습니다. – seanpj
이 부분을 살펴 보겠습니다. 그러나 업로드 할 이진 데이터가 실제로 png 형식 일 가능성이 있습니까? –