Thiết kế web với framework Laravel | NenTang.vn |
Sản phẩm của Nền tảng | NenTang.vn - Hành trang tới Tương lai |
Thiết kế web với framework Laravel | NenTang.vn |
Chương 12-Bài 9. Cách tự động sinh Ảnh nhiều kích cỡ (Automatic resize image) khi upload file Ảnh |
||
Tác giả: Dương Nguyễn Phú Cường | Ngày đăng: Hồi xưa đó | Lượt xem: 129 |
Yêu cầuĐể tối ưu ảnh khi hiển thị trên nhiều thiết bị khác nhau. Khi người dùng upload 1 hình ảnh bất kỳ. Thông thường chúng ta sẽ:
hoa-hong.jpg , có kích thước thực của file ảnh là 3200x1900 px. Chúng ta sẽ tự sinh ra các file như sau:
Các bước thực hiệnĐể thuận tiện chúng ta sẽ sử dụng thư viện hiệu chỉnh ảnh nổi tiếng của PHP là https://github.com/Intervention/imageStep 1: cài đặt thư việnGõ câu lệnh vào cmd:composer require intervention/image Step 2: bật cấu hình sử dụng thư viện Intervention ImageHiệu chỉnh fileconfig/app.php
return [ ...... ...... $provides => [ ......, Intervention\Image\ImageServiceProvider::class ], $aliases => [ ....., 'Image' => Intervention\Image\Facades\Image::class ] ] Step 3: bổ sung bước xử lý lưu ảnh theo tỷ lệ mong muốn trong Action của Controller thích hợp/** * Image resize */ public function imgResize(Request $request) { $image = $request->file('imgFile'); $input['imagename'] = time().'.'.$image->extension(); $filePath = public_path('/thumbnails'); $img = Image::make($image->path()); $img->resize(110, 110, function ($const) { $const->aspectRatio(); })->save($filePath.'/'.$input['imagename']); $filePath = public_path('/images'); $image->move($filePath, $input['imagename']); return back() ->with('success','Image uploaded') ->with('fileName',$input['imagename']); } |
Sản phẩm của Nền tảng | NenTang.vn - Hành trang tới Tương lai |