Como validar arquivo de imagens em Controller em Laravel 5,6

votos
0

A minha laravel 5.6 aplicativo eu tenho função de armazenamento de imagem no meu controlador como este,

public function store(Request $request)
    {
         $image = new Category();
            if ($request->hasFile('image')) {
                $dir = 'images/';
                $extension = strtolower($request->file('image')->getClientOriginalExtension()); // get image extension
                $fileName = str_random() . '.' . $extension; // rename image
                $request->file('image')->move($dir, $fileName);
                $image->categoryimage = $fileName;
            }

            $image->save();
    }

agora eu preciso validar antes de salvar a imagem se salvar sem imagem (vazio) e, se não arquivo formato é equel a (png, jpeg, png). como posso fazer isso?

Publicado 20/10/2018 em 13:52
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Você consegue fazer isso:

 //first you should use the Request class at the top of your file
 use Illuminate\Http\Request;


public function store(Request $request)
 {
   $validator = $request->validate([
    'image' => 'required|image'
   ]);

   if ($validator->fails()) {
      // write what you want here
    }

      // the rest of your code 
 }

O arquivo em fase de validação deve ser uma imagem (jpeg, png, bmp, gif, ou SVG).

Respondeu 20/10/2018 em 14:24
fonte usuário

votos
1

Na primeira linha da sua função

$validatedData = $request->validate([
        'image' => 'required|file|mimes:jpeg,png'
    ]);
//image is valid

Dê uma olhada nisso: docs

Respondeu 20/10/2018 em 14:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more