У меня есть следующая функция для принудительной загрузки файла:
static public function download($file, $options=array()) {
$content = (isset($options['content'])) ? $options['content'] : '';
$contentType = (isset($options['contentType'])) ? $options['contentType'] : '';
header('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.File::filename($file));
header('Content-Type: '.$contentType);
header('Content-Transfer-Encoding: binary');
if ($content!='') {
echo $content;
} else {
readfile($file);
}
}
Я отправляю файл PDF и contentType = "application / pdf".
проблема в том, что когда я пытаюсь открыть загруженный файл PDF, появляется сообщение «Произошла ошибка при открытии этого документа. Возможно, файл поврежден».
Это странно, потому что я могу открыть исходный файл, и они выглядят точно так же (имя файла, размер и т. Д.)