http://code.google.com/appengine/kb/java.html#fileforms
показывает, как это сделать для загрузки файла, который должен выполняться через составные данные формы.
Аналогично для нефайловых данных, где вы читаете прямоиз потока запросов.
Вам даже не нужно сохранять файл / поток ввода.Просто выплюните обработанные данные в поток выходных ответов, одновременно читая входной файл FileItemStream или запрос входного потока.
Если для обработки вашего файла / ввода требуется предварительный просмотр, определите максимальное расстояние просмотра и используйте это расстояние.в качестве размера буфера.
Дополнительные правки
Чтобы ответить клиенту с типом файла, задайте тип содержимого ответа или mime-тип.например, у меня были приложения, которые динамически генерировали gif, jpgs, xls, cvs и т. д.
Нет разницы, является ли источник потока ответов файлом, который вы читаете, или потоком, который вы генерируете динамически.Потому что, даже если у вас есть сохраненный файл, который нужно отправить как ответ клиенту, вам все равно придется преобразовать его в поток ответов и соответствующим образом пометить тип содержимого.
Для динамически генерируемого содержимого, если тольковам нужно кэшировать выходные данные, вам не нужно генерировать файл в веб-видимом URL-адресе, а затем генерировать новую HTML-страницу со ссылкой и отправлять эту HTML-страницу в браузер.Вам не нужно, чтобы браузер пользователя обновлялся сам по себе только для того, чтобы получить эту ссылку.
Вы просто отправили бы «файл» непосредственно в поток ответов.Вы можете спроектировать свой GWT-клиент так, чтобы он принимал «файл», возможно, в именованном фрейме, где src url именованного фрейма - это приложение, которое выполняет динамическую генерацию файла.чтобы найти необходимый вам тип контента.
Если в браузере целевого клиента не настроен обработчик контента для типа контента ответа, это будет как для обработки, так и для загрузки файла.
Я часто использовал jsp или jspx для генерации динамически генерируемых диаграмм или электронных таблиц.Нет сохраненных файлов.Ответ записывается во время чтения запроса.Давайте посмотрим на директиву jsp page, чтобы установить тип содержимого для вызова MS Excel в CSV.
<%@ page language="java" contentType="application/vnd-ms-excel; charset=UTF-8"
pageEncoding="UTF-8"%>
Для сервлета ServletResponse.setContentType(String)
- это метод для установки содержимого.тип.