Динамическая потоковая передача файлов pdf / excel для гибкого пользовательского интерфейса - PullRequest
1 голос
/ 13 сентября 2010

У нас есть приложение, которое имеет следующие характеристики-

а) Сгибать передок.
б) Пружина, BlazeDS и задняя часть tomcat
c) Flex UI связывается с внутренним сервером с помощью AMF / xmlrpc
d) Каркас Mate используется для внешнего интерфейса Flex

У меня есть требование создавать отчеты в гибком пользовательском интерфейсе и иметь возможность экспортировать эти отчеты в форматы PDF и MS-Excel.

Flex UI> Отчет> Экспорт в PDF> Вызов AMF на сервер> Ответ AMF на сервер для загрузки файла PDF (динамически создается на сервере).

Как правило, используя Struts / Tomcat, обслуживающий динамический HTML-контент, я легко могу добиться этого в качестве класса действия, который транслирует содержимое файла PDF в качестве ответа (установка правильного MIME-типа и т. Д.). Это легко обрабатывается браузером, который вызывает диалоговое окно «Сохранить файл».

Есть идеи, если это можно сделать для работы с запросом / ответом Flex AMF / BlazeDS? Или это возможно только при использовании HTTPService на стороне Flex, как указано в этом URL-

http://forums.adobe.com/thread/582595?decorator=print&displayFullThread=true

Отправка самого байта [] в качестве ответа AMF обычно приводит к сохранению всего байта [] в памяти Flex UI (браузера), прежде чем его можно будет сохранить на клиентском компьютере, верно? Также в этом подходе все содержимое документа должно быть помещено внутри байта [], прежде чем его можно будет вернуть.

Может ли кто-нибудь поделиться своим опытом в отношении того, какой дизайн лучше всего подходит для потоковой передачи файлов в пользовательский интерфейс Flex из серверной части BlazeDS / Spring?

1 Ответ

1 голос
/ 13 сентября 2010

Пусть вызов вернет URL к сгенерированному PDF и откроет его в новом окне браузера.По сути, отмените процесс загрузки в браузер.

Или используйте URL-адрес для передачи в объект FileReference и используйте его для загрузки.

...