FileValidator::validateExtension определяет $mimeType по .tmp файлу
и пытается вытащить нужные $extensionsByMimeType
в моем случае при попытке загрузить .css файл опреляет его $mimeType как "text/plain" вместо "text/css" и, соответственно, среди $extensionsByMimeTypeотсутствует нужный "css" extension
BaseFileHelper::getExtensionsByMimeType()
Re: BaseFileHelper::getExtensionsByMimeType()
ну и? какое должно быть поведение по вашему? что из этого ошибка?zrk4939 писал(а):FileValidator::validateExtension определяет $mimeType по .tmp файлу
и пытается вытащить нужные $extensionsByMimeType
в моем случае при попытке загрузить .css файл опреляет его $mimeType как "text/plain" вместо "text/css" и, соответственно, среди $extensionsByMimeTypeотсутствует нужный "css" extension
Re: BaseFileHelper::getExtensionsByMimeType()
а как тогда файлы валидировать прикажете, без миметупе?zelenin писал(а):что из этого ошибка?
Re: BaseFileHelper::getExtensionsByMimeType()
Давайте конкретнее: опишите конкретную суть бага. Что я прикажу вам, к делу не относится.zrk4939 писал(а):а как тогда файлы валидировать прикажете, без миметупе?zelenin писал(а):что из этого ошибка?
Re: BaseFileHelper::getExtensionsByMimeType()
Пошагово тогда:zelenin писал(а):опишите конкретную суть бага.
Написал правило [['file'], 'file', 'skipOnEmpty' => false, 'checkExtensionByMimeType' => false, 'extensions' => 'js, css'],
Загружаю style.css
но, $model->validate() возращается с false, из-за того что mimeType определился как text/plain (а определялся он от .tmp файла)
Re: BaseFileHelper::getExtensionsByMimeType()
я понял суть происходящего, но не понял суть бага. Как и на каком основании обычный текстовый .tmp-файл должен определяться как css?zrk4939 писал(а):Пошагово тогда:zelenin писал(а):опишите конкретную суть бага.
Написал правило [['file'], 'file', 'skipOnEmpty' => false, 'checkExtensionByMimeType' => false, 'extensions' => 'js, css'],
Загружаю style.css
но, $model->validate() возращается с false, из-за того что mimeType определился как text/plain (а определялся он от .tmp файла)
Есть два способа:
1. Сигнатура в начале бинарного файла (pk для zip например)
2. Либо если это не бинарный файл то он text с уточнением, основанным на расширении. text/plain, text/css, text/html, text/json итд. .tmp - это обычный текстовый файл.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: BaseFileHelper::getExtensionsByMimeType()
Если 'checkExtensionByMimeType' => false, то mime не должен проверяться. Если проверяется — это баг и его надо на github.
Нравится Yii? Давайте сделаем его лучше!.