Итак, я хочу создать 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
2
A
ответ
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.
Правильно, приведенный выше код в основном используется мной для получения данных файла строковой строки. Но я не могу понять, как воссоздать объект java.io.File с использованием этой строки в способе GAE, и мне нужен объект java.io.File, чтобы создать объект FileBody, который будет прикреплен на многостраничную почту. Проверка того, что вы добавили другую ссылку переполнения стека – Dangerbunny
Другая ссылка основана на файле, хранящемся в базе данных GAE. Считаете ли вы, что это единственный способ заставить все это работать? – Dangerbunny
Это не совсем решение для копирования/вставки. У вас есть файл, хранящийся на диске Google, и вы хотите отправить его через многостраничный запрос POST. В документации GAE показано, как читать файл с Google Диска, пример переполнения стека показывает, как отправить многостраничный запрос POST. Отредактируйте эти две вещи вместе, и у вас есть решение. Возможно, вам придется кое-что изменить. –