php - как сделать так, чтобы файл загружал только изображение - Laravel

Привет, я новичок в Laravel, так что мне действительно нужна помощь. Я хочу создать код, где только изображение, которое может загрузить другие файлы, не может, я пытался использовать файл ввода кода, но когда я пытаюсь загрузить файл zip-файла, он все еще загружен, поэтому мне действительно нужна помощь

Это мой код таблицы

<div class="col-sm-5">
{!! Form::label('photo', 'Photo:') !!}
<input type='file' name='photo' class='form-control' accept = 'image/jpeg , image/jpg, image/gif, image/png'>

И это мой контроллер

    public function store(CreateBannerRequest $request)
{

    $input = $request->all();
    //get original file name
    if($request->photo == NULL)
    {
        Flash::error('Image must be filled');
        return back();
    }
    $filename = Input::file('photo')->getClientOriginalName();
    $input['photo'] =  $filename;
     $banner = $this->BannerRepository->create($input);
    //upload file
    Input::file('photo')->move($this->path, $filename); 

     Flash::success('Banner saved successfully.');

     if (empty($banner)) {
        Flash::error('No image available');

        return redirect(route('banner.index'));
    }

     return redirect(route('banner.index'));
}

Это вид моего кода

2 ответа

Решение

У вас есть код на переднем конце, как это:

Посмотреть

<form action="{{URL::to('upload/photo')}}" class="form-horizontal" method="POST" role="form" enctype="multipart/form-data">
    <input type="file" name="photo">
    <button class="btn btn-default pull-right" type="submit">Create</button>
</form>

маршрут

Route::post('upload/photo','TestController@uploadPhoto');

TestController

public function uploadPhoto(Request $request)
{
    $this->validate($request, [
        'photo' => 'mimes:jpeg,png,bmp,tiff |max:4096',
    ],
        $messages = [
            'required' => 'The :attribute field is required.',
            'mimes' => 'Only jpeg, png, bmp,tiff are allowed.'
        ]
    );
 // Now save your file to the storage and file details at database.
}

Я надеюсь, вы понимаете.

Вы можете сделать это с помощью проверки через mimes:jpeg и другие типы, такие как png и т.д.

Другие вопросы по тегам