梦想还是要有的,万一忘了咋办?

0%

Minio图片支持缩略图

目录:

  • 介绍
  • nginx配置

介绍

有两个方案可以让minio中的图片资源实现裁剪功能:

1、nginx 的 image_filter 模块。
2、imageproxy

nginx

从0.7版本以后 image_filter 模块已经默认集成到nginx中,且动态加载。
下面以centos为例:

安装nginx:

1
2
3
yum install nginx
# 必须安装一下否则没有想过模块信息
yum install nginx-mod-http-image-filter

修改nginx配置文件

1
2
3
4
5
6
7
8
9
10
11
# 修改nginx配置文件
location ~^/(.*)\.(?i)(jpg|jpeg|jpg|gif|png)!(\d+)x(\d+) {
set $w $3;
set $h $4;
if ($w != "0") {
rewrite ^/(.*)\.(?i)(jpg|jpeg|jpg|gif|png)!(\d+)x(\d+)$ /$1.$2 break;
}
image_filter resize $w $h;
image_filter_buffer 100M;
proxy_pass http://minio;
}

用法

1
2
#!10x10
http://a.com/simple/0717/b6e98aca92944b2490c8267019948a8d.jpg!10x10?a=b

imagproxy

imgproxy 是独立启动一个服务,将图片加载到imgproxy服务后进行裁剪,然后再提供给应用。性能上应该不如nginx。

docker部署方式

1
2
docker pull darthsim/imgproxy:latest
docker run -p 8080:8080 -it darthsim/imgproxy

用法

1
http://localhost:8080/insecure/rs:fill:300:400/g:sm/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL00v/TVY1Qk1tUTNabVk0/TnpZdFkyVm1ZaTAw/WkRSbUxUZ3lPREF0/WldZelpqaGxOemsx/TnpVMlhrRXlYa0Zx/Y0dkZVFYVnlOVGMz/TWpVek5USUAuanBn.jpg

url规则详细

imgproxy官网