【问题标题】:Command (Store) is not available for driver (Gd) using laravel 6使用 laravel 6 的驱动程序 (Gd) 无法使用命令(存储)
【发布时间】:2021-02-13 21:53:54
【问题描述】:

我想添加一个用户(姓名、电子邮件、图片、多张图片...),我尝试调整图片大小和多张图片以非常快速地上传我们使用包干预,我执行 cmd php composer require intervention/image,我在config/app.php中添加了Intervention\Image\ImageServiceProvider::classImage'=>Intervention\Image\Facades\Image::class,我还在RegisterController.php中添加了use Intervention\Image\Exception\NotReadableException;use Intervention\Image\Facades\Image;

但它给了我错误Command (Store) is not available for driver (Gd)

但它给了我错误Command (Store) is not available for driver (Gd)

D:\wamp\www\aswaktin\vendor\intervention\image\src\Intervention\Image\AbstractDriver.php:119

RegisterController.php

protected function validator(array $data)
    {
        return Validator::make($data, [
        'name'     => ['bail','required', 'string','min:3', 'max:50','regex:/^[\pL\s\-]+$/u'],
        'email'    => ['bail','required', 'string', 'email', 'max:255', 'unique:users'],
        'telephone'=> ['bail','required','regex:/^06\d{8}$/','unique:users'],
        'password' => ['bail','required', 'string', 'min:8', 'confirmed'],
        'adressem' => ['bail','required', 'string', 'min:13','max:255'],
        'adressem' => ['bail','required', 'string', 'min:13','max:255'],
        'adresser' => ['bail','required', 'string', 'min:13','max:255'],
        'image'    => ['bail','required','mimes:jpeg,jpg,png,gif,svg','max:2048'],
        'images.*' => ['bail','required','mimes:jpeg,jpg,png,gif,svg','max:2048']
        ]);
    }
protected function create(array $data)
    { 
        //image
        $user = new User();
        //$jdate = Carbon::now();
        $request = app('request');
        if($request->hasFile('image'))
         {
        $image = $request->file('image'); 
         $url = Storage::put("user/" , $image->getClientOriginalName());
         $image = Image::make($image);
         $image->resize(250,125);
        
          $path = $request->image->store('profiles');
          $user->image = $path;
        }
        $im = $user->image;  
        //images
        $dataim = array();
         if($request->hasFile('images')) 
         {
            foreach($request->images as $file) 
            {   
                $file = Image::make($file);
                $file->resize(250,125);
                $path = $file->store('profiles'); 
                array_push($dataim,$path);
            } 
         }
        $user->images=json_encode($dataim);
        $imm =$user->images; 
        return User::create([
            'name'         => $data['name'],
            'email'        => $data['email'], 
            'password'     => Hash::make($data['password']),
            'telephone'    => $data['telephone'], 
            'country_id'   => $data['country_id'], 
            'state_id'     => $data['state_id'], 
            'autrei'       => $data['autrei'] ?? null, 
            'city_id'      => $data['city_id'], 
            'autreh'       => $data['autreh'] ?? null, 
            'adressem'     => $data['adressem'], 
            'adresser'     => $data['adresser'],
            'image'        => $im,
            'images'       => $imm
        ]);
    }

【问题讨论】:

    标签: php laravel file-upload intervention


    【解决方案1】:

    问题是,您正在使用干预实例覆盖上传的文件实例 ($file),但随后尝试在该干预图像实例上调用 store(和 UploadedFile 方法)。您需要为您的干预图像实例实例使用不同的变量名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 2017-11-04
      • 2020-07-18
      • 2020-10-19
      • 2013-06-23
      相关资源
      最近更新 更多