Laravel 上传文件 生成缩略图

1 设置路由

Route::get('/file',"UploadFileCroller@index");
Route::any('/uploadfile',"UploadFileCroller@uploadfile");

2.前端代码

<form action="/uploadfile" method="post"  enctype="multipart/form-data">
{{csrf_field()}}
<input type="file" name="files" id="files">
<input type="submit" value="提交">
</form>

  

3上传到控制器

public function uploadfile(Request $request){
        //获取文件信息
        $file = $request->file('files');
        //判断文件是否上传成功
        if ($file->isValid()){

            //文件后缀
            $ext = $file->getClientOriginalExtension();

            //新建文件名
              $newFile = time().rand().'.'.$ext;
        
            //移动文件到指定目录
         $file->move('Uploads/',$newFile);
        }
    }

  

4生成缩略图

1.composer 安装:插件

composer require intervention/image

2修改 app/config/app.php配置

// 将下面代码添加到 providers 数组中

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

  

// 将下面代码添加到 aliases 数组中

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

  3引入插件

use Intervention\Image\ImageManagerStatic as Image;//依赖包的Image静态方法生成缩略图

  4生成缩略图

Image::make('Uploads/'.$newFile)->resize(300, 200)->save('Uploads/thumb/'.$newFile);

  make(‘图片位置’)

->resize(300,200)//设置图片尺寸

->save('图片新地方')

->height()//获取图片长度

->width()//获取图片宽度

 

posted on 2020-01-04 16:05  海星一号  阅读(593)  评论(0)    收藏  举报