国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

在Nginx中配置image filter模塊來實現(xiàn)動態(tài)生成縮略圖

2024-08-30 12:26:24
字體:
供稿:網(wǎng)友

先來看一下什么是nginx的image filter模塊。

HttpImageFilterModule用來裁剪過大的圖片到指定大小,是nginx自帶模塊,默認不會開啟
開啟HttpImageFilterModule需要在編譯要帶上參數(shù) --with-http_image_filter_module

該模塊主要有兩個指令:
語法: image_filter (test | size | resize width height | crop width height)
默認是: 無
可出現(xiàn)的上下文: location

該指令指定圖像的轉(zhuǎn)化形式:

test - 測試回復(fù)是否是JPEG、GIF、或PNG圖片(不支持BMP等其他格式),出錯時返回415。
size - 返回圖片的JSON數(shù)據(jù),比如:( "Img": ( "width": 100, "height": 100, "type": "gif"))
resize - 根據(jù)設(shè)置按比例得減小圖像,比如100*100的圖片,而設(shè)置是50*25,減小后的圖片為25*25。如果你只想設(shè)置一個維度,可以用“-”代替。出錯時返回415。
crop - 根據(jù)設(shè)置按比例得減小圖像,然后裁剪成跟設(shè)置一樣大小的圖片。比如100*100的圖片,而設(shè)置是50*25,減小后的圖片為50*50,Nginx會選取中間高度25的像素,形成50*25的圖片,所以圖片會有缺失。如果你只想設(shè)置一個維度,可以用“-”代替。出錯時返回415。

語法: image_filter_buffer size
默認值: image_filter_buffer 1M
可出現(xiàn)的位置: http, server, location

該指令設(shè)置單圖片緩存的最大值,如果過濾的圖片大小超過緩存大小,會報錯返回415。

現(xiàn)在開始時重點:

有了如上認識再配合locaiont、if、image_filter 就可以讓nginx動態(tài)生成縮略圖了。

假設(shè)你的圖片位于/img目錄下

訪問縮略圖方式
//www.survivalescaperooms.com/img/9GUMJR7200AJ0003_90x90.jpg
訪問原圖方式
//www.survivalescaperooms.com/img/9GUMJR7200AJ0003_90x0.jpg
//www.survivalescaperooms.com/img/9GUMJR7200AJ0003_0x50.jpg
//www.survivalescaperooms.com/img/9GUMJR7200AJ0003_0x0.jpg
//www.survivalescaperooms.com/img/9GUMJR7200AJ0003.jpg

添加如下配置到server上下文即可

    location ~* /img/(.+)_(d+)x(d+).(jpg|gif|png)$ {            set $h $2;      set $w $3;      if ($h = "0") {        rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;      }      if ($w = "0") {        rewrite /img/(.+)_(d+)x(d+).(jpg|gif|png)$ /img/$1.$4 last;      }      #根據(jù)給定的長寬生成縮略圖      image_filter resize $h $w;      #原圖最大2M,要裁剪的圖片超過2M返回415錯誤,需要調(diào)節(jié)參數(shù)image_filter_buffer       image_filter_buffer 2M;                         #error_page 415       /img/notfound.jpg;      try_files /img/$1.$4 /img/notfound.jpg;     }    location ~* /img {          }

生成縮略圖只是image_filter功能中的一個,它一共支持4種參數(shù):
    test:返回是否真的是圖片
    size:返回圖片長短尺寸
    corp:截取圖片的一部分
    resize:縮放圖片

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邓州市| 竹溪县| 萍乡市| 娱乐| 太仆寺旗| 天等县| 芦山县| 马尔康县| 邹平县| 崇礼县| 云阳县| 中宁县| 株洲市| 丰原市| 常山县| 拜泉县| 乐安县| 绍兴县| 福建省| 洪雅县| 胶南市| 威宁| 济南市| 清镇市| 鄂温| 亳州市| 开平市| 名山县| 新安县| 绵阳市| 乐都县| 米林县| 鄂伦春自治旗| 博兴县| 巩义市| 阿合奇县| 望城县| 分宜县| 银川市| 渝中区| 焉耆|