2015-02-20 3 views
1

У меня есть файлы в формате zip, которые я хочу загрузить с помощью метода sendFile() Yii. Но это дает мне ошибку File not found. Но при проверке с file_exist() - он возвращает true. Ниже приведен код для загрузки файла.Загрузка файла через Yii

Yii::app()->request->sendFile($product->zfile, $file_url, "zip", FALSE); 

ИСПОЛЬЗОВАНИЕ: Windows, XAMPP, Yii (v1.1.16)

+0

Что делает ваш 'file_exists()' код выглядит? –

+0

file_exists (YiiBase :: getPathOfAlias ​​("webroot"). "/ Themefiles /". $ Product-> zfile) –

+0

Этот метод не поддерживает путь к файлу, только содержимое файла ([docs] (http: //www.yiiframework. com/doc/api/1.1/CHttpRequest # sendFile-detail)). Кроме того, тип mime должен быть 'application/zip' не просто zip. Кроме того, я полагаю, что ошибка «Файл не найден» не вызвана этим, скорее у вас возникли проблемы с маршрутизацией или переписыванием, и вы не получите правильного контроллера с вашим запросом. – lupatus

ответ

2

Вы не передавая соответствующие аргументы.

Пропустить содержимое файла, а не $file_url.

Pass mimeType как 'application/zip' вместо 'zip'.

Yii::app()->request->sendFile($outputFileName, $content, $mimeType, $terminate); 

Yii::app()->request->sendFile("Test.zip", @file_get_contents($path), 'application/zip', false); 

Yii sendFile method

Смежные вопросы