Возможно ли клиенту скачать файл напрямую с сервера в обход сервера-посредника?

Проблема следующая: сервер через апи достаёт файлы с другого сервера по "заказу" клиента, закачивает его себе и затем отдаёт их клиенту.

Вопрос: можно ли (если да, то как) убрать в этой цепи звено, где сервер-посредник сперва закачивает себе файл, а затем отдаёт его клиенту? То есть чтобы сервер только авторизировался, получил токен, а клиент с токеном себе скачал напрямую сам через браузер.

Cейчас схема получения файла такая:

      $respJWT=$this->get_cookies(); // токен

        $url = 'https://app.ru/api/documents/'.$doc_id.'/file';

        $ch = curl_init($url);

        curl_setopt($ch, CURLOPT_HTTPGET, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array($respJWT));
        curl_setopt($ch, CURLOPT_VERBOSE, true);

        $fp = fopen($name, 'w');
        curl_setopt($ch, CURLOPT_FILE, $fp);

        $data= curl_exec($ch);

        curl_close($ch);

И далее сервер перенаправляет на страницу скачивания этого файла $name.


Ответы (1 шт):

Автор решения: WinterSilence

нужно сразу возвращать клиенту файл, что-то вроде

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="book.pdf"');
echo curl_exec($ch);
curl_close($ch);
→ Ссылка