@gregorypetrov

Как отправить AJAXом файл, генерируемый «на лету» php-скриптом?

На сайте есть скрипт, генерирующий и отдающий PDF из данных, передаваемых ему через POST -

example.com/make_pdf_file.php


(URL, отдающий PDF, всегда именно такой).

Задача - отправить AJAXом сгенерированный PDF-контент в другой скрипт, например, такой -

example.com/form_result_handler.php


Не могу понять самого принципа, как это делать. Предполагаю, что первым шагом надо получить в какую-то переменную контент файла, отдаваемый генератором PDF make_pdf_file.php, а потом отправить, но как?

Может, кто-нибудь сталкивался с такой задачей или есть примеры? Пожалуйста, помогите сориентироваться.
Заранее спасибо!
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
megafax
@megafax
web-программист
Можете попробовать отдавать файл в base64, и ее уже отправлять в отдельный input. Естественно, _FILES у Вас будет пустой, поскольку input[type=file] должен быть инициирован только пользователем, иначе это дыра в безопасности.
Т.е. у Вас должна получиться примрно такая схема:
  1. Получаем из запроса на генерацию PDF данные о файле, только учтите, что данных может быть много
  2. Полученные данные записываем в value hidden input
  3. Всю полученную форму сабмитим
  4. На этапе разбора данных с формы - формируем файл из base64 и кладем его куда надо

Но учтите, что такой механизм требует дополнительных проверок безопасности, целосности передаваемого файла и прочего.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы