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()//获取图片宽度
浙公网安备 33010602011771号