Как получить этот файл пользователю? - PullRequest
0 голосов
/ 28 апреля 2011

Привет, я работаю над проектом MVC3 Razor , и я застрял в этой проблеме на несколько часов ...

Я пытаюсь получить html в pdf конвертерчтобы предоставить документ пользователю ...

Мне нужно следующее:

Страница отображается и отображается.В нижней части страницы должен быть небольшой значок, отображающий что-то вроде загрузки в формате PDF.и в этом вся моя проблема.

Все данные, которые мне нужны, динамически создаются в $("#content").html();

Итак, я попробовал передать функцию jquery / ajax $("#content").html(); как параметр моей функции, которая создает pdf (работает, но я понятия не имею, как предложить созданный файл пользователю?)

Другое решение было @(Html.ActionLink()), но я не знаю, как передатьданные ($("#content").html()) внутри этой ссылки?

И при попытке работать с функцией allity для использования конвертера для перехода к URL-адресу был тупик, потому что он получил свой собственный сеанс и был перенаправлен на страницу входа ..

Любая помощь будет оценена!

Ответы [ 4 ]

0 голосов
/ 28 апреля 2011

Обдумал обходной путь. Я написал расширение для моего HtmlHelper и использовал его, чтобы преобразовать мой элемент управления в строку HTML вместо представления. Поэтому я мог бы использовать actionlink, чтобы сказать, визуализировать эту страницу и таким образом получить все html-данные.

http://msug.vn.ua/Posts/Details/3301

Спасибо за помощь!

0 голосов
/ 28 апреля 2011

Я не знаком с JavaScript, но что, если вы сначала сохраните PDF-файл во временном файле, вызвав метод веб-службы, а затем после его завершения вы сможете использовать JavaScript для перехода к URL-адресу, на котором сгенерированный PDF-файл будет возвращен каксодержание.

0 голосов
/ 28 апреля 2011

Поскольку объект XmlHTTPRequest не может обрабатывать типы данных, отличные от html, text, json, jsonp и xml, вам нужно будет перенаправить в папку PDF.

IЯ не уверен, что именно вы делаете в своем Ajax-запросе, но после этого вы можете просто перенаправить окно (Form-Action) в местоположение созданного PDF-файла.Это на самом деле не перенаправляет браузер, а только запрашивает сохранение файла.

0 голосов
/ 28 апреля 2011

Зачем просто создавать функцию, которая возвращает созданный PDF-файл (во время запроса AJAX) в качестве результата файла, а затем указывать расположение окна, указывающее на это действие, после успешного выполнения запроса AJAX?Вы нигде не сохраняете PDF.Поэтому обходной путь заключается в том, чтобы либо использовать этот плагин загрузки jquery , либо динамически добавлять iframe, а затем публиковать данные через него.Надеюсь это поможет.

...