thisishappi
@thisishappi
Верстальщик=)

Получить ссылку на скачивание файла с внешнего сервера, и отдать как от своего?

День добрый, суть:
Имеется форма, пользователь заполняет ее. Получаю с этой формы параметры и через ajax стучусь на другой сервер, там по этим параметрам генерирую pdf. Получаю ссылку на скачивание этого файла. Нужно отдать этот файл пользователю с моего сервера, а не с того, на который стучусь. Есть такая возможность?
  • Вопрос задан
  • 787 просмотров
Решения вопроса 2
Ну тут два варианта:
1) При получении сохраняете к себе на сервер и потом отдаёте ссылку
2) Получаете файл без сохранения отдаёте его с необходимыми заголовками для pdf
Ответ написан
Stalker_RED
@Stalker_RED
Да. Причем несколько разных способов.
Можно скачать его к себе (curl, file_get_contents или другие ф-ции чтения файлов, их дофига), затем сохранить у себя в папочке и сделать на него редирект.

Или читать файл частями и тут-же выдавать его на клиент. Не забыв перед этим отправить заголовки, конечно-же.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Fly3110
web developer
Если Вы стучитесь посредством ajax, значит это происходит на стороне клиента.
Вам же, в таком случае, надо получать параметры формы на свой сервер, стучаться на другой сервер со своего сервера, получать ссылку на файл, скачивать этот файл и отдавать пользователю со своего сервера
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега PHP
♬♬
Можно сконфигурить свой nginx так, чтобы при запросе к определенному пути, запросы передавались на тот сервер. Например, вы получили путь к файлу "totServ.com/get/file/abcd-1234". У себя настроили, что все запросы к папке "svojServ.ru/dl/" проксируют запросы туда. И отдаёте пользователю ссылку "svojServ.ru/dl/abcd-1234"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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