Скачать тип файла Confusion - приложение / октет-поток - PullRequest
1 голос
/ 20 сентября 2011

Я использую этот код:

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. Я не уверен, что это правильно (это не то, что я установил при загрузке файлов)

Любые идеи приветствуются.

Спасибо

Ответы [ 2 ]

2 голосов
/ 21 сентября 2011

для файлов .doc вы должны установить application / msword , для файлов .pdf вы должны установить application / pdf

0 голосов
/ 20 сентября 2011
<?php
header('Content-type: application/pdf'); // set content type
header('Content-Disposition: attachment; filename="downloaded.pdf"'); // force download
readfile('original.pdf'); // read the content to server
?>

Источник: http://php.net/manual/en/function.header.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...