2015-07-31 1 views
1

У меня есть файлы в формате pdf на моем общем сервере хостинга. Мне нужно загрузить их из приложения iOS & Я хочу показать индикатор выполнения загрузки.Как установить заголовок Content-Length с php.ini/httpd.conf/.htaccess?

Но я не мог, потому что длина содержимого отсутствует в ответе заголовка.

Как я могу это получить?

+1

Причина - это сжатие gzip. поэтому вам нужно использовать альтернативное решение для: http://serverfault.com/questions/183843/content-length-not-sent-when-gzip-compression-enabled-in-apache http://stackoverflow.com/questions/ 815961/how-to-define-the-content-length-of-a-gzipped-file –

+0

Не могли бы вы рассказать мне, как я могу отключить это сжатие? Я искал файл php.ini с помощью gzip, но не нашел ничего подобного. Но в ответ я получаю> Content-Encoding \t gzip – CoderBoy

ответ

2

Вы можете установить его через заголовок. С помощью функции заголовка вы можете установить HTTP-информацию. Но учтите, что у вас нет выхода до установки HTTP-информации.

header('Content-type: application/pdf'); 
header("Content-length: $size"); 
header('Content-Disposition: attachment; filename="downloaded.pdf"'); 

Edit:

Если вы не используете PHP для загрузки файла, вы можете использовать SetEnv no-gzip dont-vary в вашем Htaccess для подавления GZIP.

+0

Спасибо @Tobias. Но проблема в том, что я не запрашиваю php-файл. Я напрямую запрашиваю PDF-файл. – CoderBoy

+0

Ах, ладно, извините. Попробуйте добавить 'SetEnv no-gzip dont-vary' в ваш htaccess. Потому что ваш сервер автоматически загружает файл PDF. – Tobias

+0

Спасибо. Он отлично работает! – CoderBoy