2017-01-26 10 views
0

Я использую Google диск V3 REST API для загрузки многослойного файла из запроса POST & ниже является Java-кодзагрузки диска файлов Google получения преобразована в документ

   String accessToken = "xyz"; 
        Credential credential = new GoogleCredential().setAccessToken(accessToken); 
        Drive service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential) 
          .setApplicationName("xyz") 
          .build(); 
       File fileMeta = new File(); 
       fileMeta.setName(fileName); 
       fileMeta.setMimeType("application/vnd.google-apps.file"); 
       if (!parentFolderId.isEmpty()) { 
        fileMeta.setParents(Collections.singletonList(parentFolderId)); 
       } 
       //Code to upload file in GDrive 
       java.io.File tmpFile = java.io.File.createTempFile("uploadFile", ".tmp"); 

       //Writing the file content to the new file 
       InputStream in = multipartFile.getInputStream(); 
       FileOutputStream fos = new FileOutputStream(tmpFile); 

       IOUtils.copy(in, fos); 

       in.close(); 
       fos.close(); 

       tmpFile.deleteOnExit(); 
       FileContent mediaContent = new FileContent(null, tmpFile); 
       File file = service.files().create(fileMeta, mediaContent) 
         .setFields("id") 
         .execute(); 

Загрузить работает нормально, но вся закачка получая автоматическое преобразование в документы, которые я не хочу. Я вижу из вопроса Google Drive: Automatically convert files on upload?, что convert = true необходимо установить во время вставки. Но этот вариант недоступен в V3.

Может ли кто-нибудь сказать мне, как отключить это автоматическое преобразование во время загрузки?

ответ

0

Причина автоматического преобразования была из-за установки типа пантомимы в объекте файла из-за которого каждый загруженный файл был преобразован в документ Google

fileMeta.setMimeType("application/vnd.google-apps.file"); 

Это был решен раз MIMETYPE не был установлен в файле объект при загрузке