В GWT вы можете отправить файл на сервер, используя методы http-формы, и вы должны использовать прилагаемый HttpServlet, чтобы принимать и сохранять данные в виде двоичных блогов в Appengine BigTable.
Затем вам понадобится второй HttpServlet, чтобы прочитать файл из bigtable, УСТАНОВИТЬ ТИП MIME В HTTP-заголовке {и параметры кэширования}, а затем передать файл пользователю.
Хотя RPC НЕ ОБЯЗАТЕЛЬНО необходим, вы должны сообщить клиенту, что такое сгенерированный fileId, чтобы он мог получить к нему доступ (если вы не хотите, чтобы пользователь предоставил идентификатор и заставлял их беспокоиться о переопределениях имен ... .. .ick}. Либо вы можете использовать rpc для запроса списка / одного идентификатора {например, «нового идентификатора файла по пользователю»}, либо вы можете вернуть этот идентификатор в теле ответа UploadServlet ... но тогда вы должны убедиться, что ваша цель записи это встроенный iframe, опрос, чтобы убедиться, что iframe имеет тело между событием submit и фактическим ответом сервера, а затем проанализировать и использовать этот идентификатор в gwt, чтобы создать тег img или object, который использует файл.
Ключевой частью является один сервлет для загрузки, а другой для загрузки. Помните, BigTable просто хранит двоичные двоичные объекты, поэтому вам также необходимо, чтобы у вашего объекта данных был тип MIME / Content, который можно прочитать из входного файла {никогда не полагайтесь на расширения файлов!}. Кроме того, в BigTable для каждой сущности имеется 1 МБ, а для бесплатных учетных записей - лимит запросов в 10 МБ. Возможно, вы захотите, чтобы ваш объект данных содержал список из 1-10 больших двоичных объектов, каждый из которых имеет максимальный размер 1024 байта.
По сути, вам лучше всего найти рабочую бесплатную копию, такую как Google File Service, и расширить ее, чтобы узнать, как работает система.
Если хотите, я опубликую свою собственную версию обработки файлов с открытым исходным кодом, как только закончу виджеты управления gwt и смогу считать все это достаточно стабильным, чтобы быть полезным для всех. Электронная почта x AT aiyx DOT информация, если вы хотите, чтобы я отправил вам банку с предательским кодом.