Как проверить типы файлов в Laravel

Я загружаю файл на Laravel, и его проверка не работает.

Мой код контроллера выглядит следующим образом:

public function cv(Request $request) {
if ($request->hasFile('cv')) {
$file = $request->file('cv'); //i need this later to upload the file
$rules= [
'cv' => 'mimes:application/msword,text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
];
$x = $request->all();
$validator=Validator::make($x, $rules);
if ($validator->passes()){
dd("Passes");
}else{
dd("fails");
}
}}

Мой HTML-код для моего файла: <input type='file' name='cv'><br>

По какой-то причине этот код кажется ошибочным, и валидатор проходит только в том случае, если файл представляет собой PDF. Я только хочу, чтобы пользователь загружал файлы pdf, doc, docx, amd text / plain. Когда я пытаюсь загрузить файл документа Microsoft, он не работает. Может ли кто-нибудь помочь мне, я не уверен, что я делаю неправильно.

0

Решение

Я думаю, что вы изменили параметры

 $validator=Validator::make($x, $rules);
2

Другие решения

Возможно попробуйте это вместо этого:

'cv' => 'mimes:pdf'

https://laravel.com/docs/5.5/validation#rule-mimes

0

Согласно документация, mimetypes следует использовать при указании типов пантомимы, как вы, тогда как mimes следует использовать для указания расширений файлов. НТН!

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector