Получить ссылку на скачивание файла с внешнего сервера, и отдать как от своего?
День добрый, суть:
Имеется форма, пользователь заполняет ее. Получаю с этой формы параметры и через ajax стучусь на другой сервер, там по этим параметрам генерирую pdf. Получаю ссылку на скачивание этого файла. Нужно отдать этот файл пользователю с моего сервера, а не с того, на который стучусь. Есть такая возможность?
Ну тут два варианта:
1) При получении сохраняете к себе на сервер и потом отдаёте ссылку
2) Получаете файл без сохранения отдаёте его с необходимыми заголовками для pdf
Да. Причем несколько разных способов.
Можно скачать его к себе (curl, file_get_contents или другие ф-ции чтения файлов, их дофига), затем сохранить у себя в папочке и сделать на него редирект.
Или читать файл частями и тут-же выдавать его на клиент. Не забыв перед этим отправить заголовки, конечно-же.
Если Вы стучитесь посредством ajax, значит это происходит на стороне клиента.
Вам же, в таком случае, надо получать параметры формы на свой сервер, стучаться на другой сервер со своего сервера, получать ссылку на файл, скачивать этот файл и отдавать пользователю со своего сервера
Можно сконфигурить свой nginx так, чтобы при запросе к определенному пути, запросы передавались на тот сервер. Например, вы получили путь к файлу "totServ.com/get/file/abcd-1234". У себя настроили, что все запросы к папке "svojServ.ru/dl/" проксируют запросы туда. И отдаёте пользователю ссылку "svojServ.ru/dl/abcd-1234"