laravel 4中的图像验证器规则问题

时间:2014-12-23 10:09:53

标签: html image laravel

我已经在laravel 4中为文件(图像)定义了这个验证规则。

'image' => 'image|mimes:jpeg,jpg,bmp,png,gif'

这是我的HTML代码:

{{ Form::label('Image of the product') }} {{ Form::file('image') }}

现在,即使我选择了一个png,jpg图像

,我上传图片时也会遇到2个错误
The image must be an image.
The image must be a file of type: jpeg, jpg, bmp, png, gif. 

这是包含图片上传的更新操作:

public function update($id)
  {
    $product = Product::find($id);
    $validator = Validator::make($data = Input::all(), Product::$rules);
    if($validator->fails())
      {
        return Redirect::back()->withErrors($validator)->withInput();
      }
      $old_img = "";
    if(isset($data['image']) and !empty($data['image']))
      {

        $image = Input::file('image');
        $filename = time().'-'.$image->getClientOriginalName();
        Image::make($image->getRealPath())->resize(468, 249)->save('public/img/products/'.$filename);

      $data['image'] = 'img/products/'.$filename;
      $old_img = $product->image;
      }
    $product->update($data);
    File::delete('public/'.$old_img);
    return Redirect::route('admin.products');
  }

2 个答案:

答案 0 :(得分:2)

通过添加

确保您的表单是多部分表单
'files' => 'true'

到配置数组。

答案 1 :(得分:1)

首先将其添加到您的表单标记中enctype="multipart/form-data" 在您的验证中仅次于'file'=>'required|mimes:jpeg,png,jpg,gif,svg'

验证mimes并删除图片