#laravel
#laravel
Вопрос:
Я использую laravel версии 8, и я хотел проверить, что загруженный файл должен быть файлом PDF, я использую приведенный ниже код
$request->validate([
'cv'=> 'required|mimes:pdf|max:2048'
]);
но проблема в том, что я все еще получаю сообщение об ошибке «Резюме должно быть файлом типа: pdf», даже если я загружаю PDF-файл.
решаемая путем добавления атрибута enctype=»multipart/ form-data» в тег формы
Ответ №1:
вы можете использовать проверку mimetypes:
$request->validate([
'cv'=> 'required|mimetypes:application/pdf|max:10000'
]);
Комментарии:
1. я все еще получаю это «Резюме должно быть файлом типа: application / pdf».
2. вы уверены, что этот файл имеет расширение .pdf?
3. да, даже я пытался добавить другие расширения, такие как jpeg, просто для проверки, даже если эти расширения не проверяются
4. решаемая путем добавления атрибута enctype=»multipart/ form-data» в тег формы
Ответ №2:
До версии 5.2
$rules = [
"file" => "required|mimes:pdf|max:10000"
]
Из документов laravel:
Несмотря на то, что вам нужно только указать расширения, это правило фактически проверяет MIME-тип файла, считывая содержимое файла и угадывая его MIME-тип.
После обновления 5.2:
Начиная с Laravel 5.2, вы можете проверять загрузку файла на соответствие полному типу MIME, новое правило проверки называется: mimetypes .
$rules = [
"file" => "required|mimetypes:application/pdf|max:10000"
]
Комментарии:
1. теперь появляется сообщение «Резюме должно быть файлом типа: application / pdf».
2. решаемая путем добавления атрибута enctype=»multipart/ form-data» в тег формы