Рестлер, не обслуживающий данные с принудительной загрузкой, установленной в true?
У меня есть странная проблема здесь, при использовании API restler, кажется, что тип содержимого заголовков сбрасывается, даже если я принудительно установить его на что-то другое... Кажется, как будто$r = new Restler();
$r->setSupportedFormats('JsonFormat');
Всегда сбрасывает его на "Content-Type: application/json; charset=utf-8"
Итак, каким образом я могу вручную переопределить тип MIME по умолчанию на то, что я хочу? Кроме того, ничего плохого не происходит, вот как это выглядит при запросе загрузки файла: Cache-Control: no-cache, must-revalidate
Connection: Keep-Alive
Content-Disposition: attachment; filename="test.pdf"
Content-Encoding: gzip
Content-Language: en
Content-Length: 25
Content-Type: application/json; charset=utf-8
И это то, что я установил в phpcode:
header("Content-type: application/pdf");
header("Content-Length: ". $data["Size"]);
header('Content-Disposition: attachment; filename="'. $data["Name"].'"');
Любая помощь, чтобы заставить его как тип контента, пожалуйста? (jftr, pdf - пример, есть много других возможных типов)
1 ответ
Рестлер устанавливает заголовки после того, как мы вернем результат из нашего метода API
Если мы хотим переопределить это поведение по умолчанию, нам нужно прекратить выполнение дальше, просто добавьте die/exit, как показано ниже в вашем методе API.
header("Content-type: application/pdf");
header("Content-Length: ". $data["Size"]);
header('Content-Disposition: attachment; filename="'. $data["Name"].'"');
die();
НТН