Я использую этот код:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // some day in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$original);
header("Content-Transfer-Encoding: binary");
readfile('/tmp/'.$original);
для вывода файлов с моего сервера (EC2), которые были захвачены с S3. Это отлично работает для изображений и файлов .txt, но PDF и .doc, похоже, каким-то образом повреждены. Они не откроются, или, если они это сделают, содержимое искажено.
Я думаю, это должно быть связано с типом контента application / octet-stream? Тем не менее, мои знания в этой области ограничены - я немного читал, проб и ошибок, но больше не буду в этом разбираться.
В S3 типы контента задаются для всех файлов как application / octet-stream. Я не уверен, что это правильно (это не то, что я установил при загрузке файлов)
Любые идеи приветствуются.
Спасибо