2

Итак, я хочу создать java.io.File, чтобы я мог использовать его для генерации запроса POST для многостраничной формы. У меня есть файл в виде com.google.api.services.drive.model.File, поэтому мне интересно, есть ли способ конвертировать этот файл Google в файл Java? Это веб-приложение, в котором используется SDK Google App Engine, который запрещает каждый подход, который я пытался сделать для этой работы.Преобразование com.google.api.services.drive.model.File в java.io.File

ответ

4

Нет, вам не кажется, что вы можете конвертировать из com.google.api.services .drive.model.File to java.io.File. Но по-прежнему можно создать запрос POST с несколькими частями, используя ваши данные на Диске.

Таким образом, класс com.google.api.services.drive.model.File используется для хранения метаданных о файле. Он не сохраняет содержимое файла.

Если вы хотите прочитать содержимое своего файла в памяти, этот фрагмент кода из документации на Диске показывает, как это сделать. Как только файл находится в памяти, вы можете делать с ним все, что хотите.

/** 
* Download the content of the given file. 
* 
* @param service Drive service to use for downloading. 
* @param file File metadata object whose content to download. 
* @return String representation of file content. String is returned here 
*   because this app is setup for text/plain files. 
* @throws IOException Thrown if the request fails for whatever reason. 
*/ 
private String downloadFileContent(Drive service, File file) 
    throws IOException { 
    GenericUrl url = new GenericUrl(file.getDownloadUrl()); 
    HttpResponse response = service.getRequestFactory().buildGetRequest(url) 
     .execute(); 
    try { 
    return new Scanner(response.getContent()).useDelimiter("\\A").next(); 
    } catch (java.util.NoSuchElementException e) { 
    return ""; 
    } 
} 

https://developers.google.com/drive/examples/java

This post может быть полезным для создания вашего запроса POST из нескольких частей от Google AppEngine.

+0

Правильно, приведенный выше код в основном используется мной для получения данных файла строковой строки. Но я не могу понять, как воссоздать объект java.io.File с использованием этой строки в способе GAE, и мне нужен объект java.io.File, чтобы создать объект FileBody, который будет прикреплен на многостраничную почту. Проверка того, что вы добавили другую ссылку переполнения стека – Dangerbunny

+0

Другая ссылка основана на файле, хранящемся в базе данных GAE. Считаете ли вы, что это единственный способ заставить все это работать? – Dangerbunny

+0

Это не совсем решение для копирования/вставки. У вас есть файл, хранящийся на диске Google, и вы хотите отправить его через многостраничный запрос POST. В документации GAE показано, как читать файл с Google Диска, пример переполнения стека показывает, как отправить многостраничный запрос POST. Отредактируйте эти две вещи вместе, и у вас есть решение. Возможно, вам придется кое-что изменить. –

 Смежные вопросы

  • Нет связанных вопросов^_^