Silverlight и XtraReports - открытие сгенерированного отчета в формате PDF в новой вкладке браузера - PullRequest
0 голосов
/ 26 августа 2011

Я пытаюсь отправить файл PDF из WCF клиенту silverlight.PDF создается DevExpress XtraReports (в методе XtraReport CreateReport (строка reportTypeName, RootGenericReportParameterContainer reportInformation) ).

Обычно PDF сохраняется где-то на клиентском компьютере после выбора пути сохранения в диалоговом окне сохранения файла - DevExpress обо всем позаботится, но я не знаю, как открыть PDF в новой вкладке в браузере.

А вот еще одна проблема.Silverlight 4 не имеет доступа к локальной файловой системе, верно?Поэтому информация о локальном расположении PDF бесполезна.Может быть, было бы лучше сохранить PDF в WCF и отправить ссылку на него клиенту - но как?

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Кажется, что вопрос на самом деле не в DevExpress или Silverlight - вы просто хотите открыть [какой-то документ] в новой вкладке.Каждый браузер по-своему обрабатывает вещи, и пользователи могут изменять обработку вкладок так, как им хочется.И (как вы упомянули), как только пользователь скачал файл, вы больше не управляете им.

Ваша лучшая ставка (и способ, которым я это делаю), вероятно, должна иметь ссылку, указывающую на обработчик / файл, используя"target = '_ blank'" в теге привязки на веб-странице.Со стороны сервера вы можете установить для заголовка «Content-Disposition» значение «Inline», чтобы указать браузеру, что документ должен отображаться на месте, а не загружаться («Приложение»).

0 голосов
/ 26 августа 2011

Сначала я бы спросил, зачем вам отправлять файл клиенту Silverlight.Избавьтесь от этого требования, и решение станет намного проще.Silverlight может предоставить ссылку, которая открывает новую вкладку браузера.Эта ссылка будет обрабатываться веб-доменом, обрабатывая его как HttpHandler, создавая PDF-файл для браузера.Ваш URL-адрес PDF не обязательно должен ссылаться на физический файл, вы все равно можете сгенерировать его по запросу, обработать значения строки запроса и т. Д ... Множество разных способов сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...