BaseFileHelper::getExtensionsByMimeType()

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
zrk4939
Сообщения: 3
Зарегистрирован: 2016.06.03, 11:28

BaseFileHelper::getExtensionsByMimeType()

Сообщение zrk4939 »

FileValidator::validateExtension определяет $mimeType по .tmp файлу

и пытается вытащить нужные $extensionsByMimeType

в моем случае при попытке загрузить .css файл опреляет его $mimeType как "text/plain" вместо "text/css" и, соответственно, среди $extensionsByMimeTypeотсутствует нужный "css" extension
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение zelenin »

zrk4939 писал(а):FileValidator::validateExtension определяет $mimeType по .tmp файлу

и пытается вытащить нужные $extensionsByMimeType

в моем случае при попытке загрузить .css файл опреляет его $mimeType как "text/plain" вместо "text/css" и, соответственно, среди $extensionsByMimeTypeотсутствует нужный "css" extension
ну и? какое должно быть поведение по вашему? что из этого ошибка?
zrk4939
Сообщения: 3
Зарегистрирован: 2016.06.03, 11:28

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение zrk4939 »

zelenin писал(а):что из этого ошибка?
а как тогда файлы валидировать прикажете, без миметупе?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение zelenin »

zrk4939 писал(а):
zelenin писал(а):что из этого ошибка?
а как тогда файлы валидировать прикажете, без миметупе?
Давайте конкретнее: опишите конкретную суть бага. Что я прикажу вам, к делу не относится.
zrk4939
Сообщения: 3
Зарегистрирован: 2016.06.03, 11:28

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение zrk4939 »

zelenin писал(а):опишите конкретную суть бага.
Пошагово тогда:
Написал правило [['file'], 'file', 'skipOnEmpty' => false, 'checkExtensionByMimeType' => false, 'extensions' => 'js, css'],
Загружаю style.css

но, $model->validate() возращается с false, из-за того что mimeType определился как text/plain (а определялся он от .tmp файла)
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение zelenin »

zrk4939 писал(а):
zelenin писал(а):опишите конкретную суть бага.
Пошагово тогда:
Написал правило [['file'], 'file', 'skipOnEmpty' => false, 'checkExtensionByMimeType' => false, 'extensions' => 'js, css'],
Загружаю style.css

но, $model->validate() возращается с false, из-за того что mimeType определился как text/plain (а определялся он от .tmp файла)
я понял суть происходящего, но не понял суть бага. Как и на каком основании обычный текстовый .tmp-файл должен определяться как css?
Есть два способа:
1. Сигнатура в начале бинарного файла (pk для zip например)
2. Либо если это не бинарный файл то он text с уточнением, основанным на расширении. text/plain, text/css, text/html, text/json итд. .tmp - это обычный текстовый файл.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: BaseFileHelper::getExtensionsByMimeType()

Сообщение samdark »

Если 'checkExtensionByMimeType' => false, то mime не должен проверяться. Если проверяется — это баг и его надо на github.
Ответить