devilsD
@devilsD

Laravel 6 Как правильно сделать валидацию svg?

Добрый день. Столкнулся с проблемой валидации svg.
Пытаюсь сделать валидацию по расширению:

'icon' => 'max:50|mimes:svg',
Но иконки загружаются только в том случае, если в файле присутствуют строки:

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">


Т.е если svg документ будет начинаться с тега *svg* то загрузить изображение не получится.
Есть ли возможность не проверять mime тип а просто по расширению делать валидацию?
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
@jazzus
Зачем svg начинаться с какого-то там тега? Пускай начинается как должен. У меня была похожая ситуация, когда не пропускал docx с миме docx и проблема была в самопальном редакторе, с помощью которого файл был создан. Для проверки по расширению сделать Rule с проверкой
public function passes($attribute, $value)
{
  // проверка на совпадение расширения файла с svg
  return $value->getClientOriginalExtension() === File::EXTENSION__SVG;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы