2014-01-07 5 views
3

Приветствие.Как установить имя файла для «Content-Disposition: inline;» файл на устройстве Android?

Там есть следующий набор заголовка я использую для обработки файлов открываются встроенным в окне браузера (как правило, это PDF):

header("Content-Type: " . $mime[$ext]); 
header("Content-Disposition: inline; filename=" . $path_parts["basename"]); 
header("Content-length: $fsize"); 
header("Cache-control: private"); 

Этот код помещается в download.php файла для достижения дополнительных шагов выполняется до того, как файл фактически будет передан клиенту. Где uri для файла устанавливается как переменная get следующим образом:

И проблема в следующем. Рабочий стол открывает файл inline в окне браузера, но устройство Android загружает его и задает имя файла download.php вместо path-to-file.pdf. Это вызывает недоразумение и я ищу помощь.

Есть ли способ настроить заголовок так или иначе, чтобы файл получил правильное имя?

ответ

0

Может быть, вы можете использовать модуль Apache переписать так:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^pdf/([^/\.]+)$ download.php?file=$1 [L] 
</IfModule> 

Пользователь спросит:

http://sitedotcom/pdf/path-to-file.pdf 

и PHP будет обрабатывать URL-адрес

http://sitedotcom/download.php?file=path-to-file.pdf 

Так когда файл будет сохранен, он будет находиться под «path-to-file.pdf»