【问题标题】:Laravel 8 - Intervention/image - undefined type 'Image'Laravel 8 - 干预/图像 - 未定义类型“图像”
【发布时间】:2021-05-06 19:19:12
【问题描述】:

我正在创建一个将照片保存到 /storage/ 文件夹的控制器。为了保护自己免于提交一堆大照片而不是设置它们的 CSS 样式,我想使用干预/图像库来调整它们的大小。不幸的是,尽管直接按照文档中的安装说明进行操作,但库的多次卸载和重新安装都不起作用。当我使用这段代码 sn-p:

Use Image;

我收到一条错误消息:

Undefined type 'Image'

按照说明,我将以下内容添加到 /config/app.php

    'providers' => [
        ...
        Intervention\Image\ImageServiceProvider::class,
    ],

    'aliases' => [
        ...
        'Image' => Intervention\Image\Facades\Image::class,
        ...
    ],

另外,我清理并重新配置了缓存和配置,重新启动服务器,尝试使用:

use Intervention\Image\ImageManagerStatic as Image;

但不幸的是,这也无济于事。

我做错了什么?

【问题讨论】:

    标签: php laravel image laravel-8 intervention


    【解决方案1】:

    直接使用Image门面

    \Intervention\Image\Facades\Image::make(\File::get($file_address))
        ->fit($width, $height)
        ->save($path_for_saving);
    

    您可以根据需要调整或裁剪图像。

    【讨论】:

      【解决方案2】:

      你必须使用下面的命名空间
      use Intervention\Image\Facades\Image;
      然后就可以用like-

      $image = $request->file('image');
      $ext = $image->getClientOriginalExtension();
      $img = Image::make($image)->resize(300, 200)->save('storage/folder/filename'.'.'.$ext);
      

      【讨论】:

        【解决方案3】:
        use Illuminate\Http\Request;
        use Illuminate\Support\Facades\File;
        
        
         public function imageUploadPost(Request $request) 
         {
        
            $photo = $request->file('image');
            $imagename = time() . '.' . $photo->getClientOriginalExtension();
        
            // Upload Crop Image...
            $destinationPath = public_path('uploads/thumbnail_images');
            if (!File::isDirectory($destinationPath)) {
                File::makeDirectory($destinationPath, 0777, true, true);
            }
            $thumb_img = \Intervention\Image\Facades\Image::make($photo->getRealPath())->resize(100, 100);
            $thumb_img->save($destinationPath . '/' . $imagename, 100); //  Define Quality 100 (Optional)
            
        
            echo '<pre>';
            print_r("Upload Successfully. Store File : laravel_project/public/uploads & laravel_project/public/uploads/thumbnail_images");
        
         }
        

        【讨论】:

          猜你喜欢
          • 2019-01-16
          • 2017-01-28
          • 1970-01-01
          • 1970-01-01
          • 2015-02-09
          • 1970-01-01
          • 2015-02-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多