Пустой ответ при загрузке больших файлов из S3 с Zend Framework - PullRequest
0 голосов
/ 23 декабря 2010

Я использую класс Zend Frameworks Zend_Service_Amazon_S3 для загрузки файлов с сервера Amazon S3 в приложении codeigniter.

Мой сценарий сначала проверяет, авторизован ли пользователь для загрузки файла, а затем пытается принудительно загрузить его с серверов S3. У меня это работает, когда загружаемый файл представляет собой небольшой тестовый почтовый индекс (661 байт), но когда я пытаюсь загрузить один из больших видеоархивов (150 МБ +), я просто получаю пустой экран.

Код выглядит следующим образом:

$this->load->helper('download');

$s3 = new Zend_Service_Amazon_S3();

force_download($video->filename(), $s3->getObject($video->s3_object_path()));

Где $ video - это экземпляр модели, представляющей видео.

Размер, кажется, проблема здесь, это единственная разница, которую я вижу между двумя файлами.

В идеале я хотел бы, чтобы данные с S3 обходили сервер, на котором размещено приложение. Функция force_download в codeigniter устанавливает «Content-Disposition: attachment;» заголовок. Из прочтения других связанных постов здесь, это должно обойти сервер не так ли?

1 Ответ

0 голосов
/ 23 декабря 2010

Вы должны включить отчеты об ошибках и посмотреть, что является реальной ошибкой, или проверить свои журналы ошибок.Я думаю, что сценарий может быть из-за большого файла.Попробуйте добавить set_time_limit(0); прямо перед вызовом к force_download().

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