golang 每日一庫之 picfit

thoas/picfit 是一個用 Go 語言編寫的圖片處理服務器,主要用於 動態圖像裁剪、縮放、格式轉換和緩存 等功能。

它適合用於圖片 CDN、圖像代理服務或網站中的動態圖片展示,尤其適合現代化網站、媒體服務、電子商務平臺等場景。

項目地址

GitHub: https://github.com/thoas/picfit

優點

支持的操作(type 參數)

U1UjzF

示例

以 resize 爲例,進行圖片縮放:

GET /image?url=https://example.com/test.jpg&type=resize&width=300&height=300

你可以訪問的形式通常如下:

http://localhost:3001/image?url={圖片地址}&type=resize&width=300&height=300

支持的參數

N4t0Xl

URL 簽名

你可以啓用 URL 簽名機制,防止他人篡改參數:

http://localhost:3001/image?url=https://example.com/test.jpg&type=resize&width=300&height=300&s=5a78f1a...

配置中的 key 將用於生成簽名哈希。

配置

可以使用 config.json 配置:

{
  "port": 3001,
  "quality": 85,
  "enable_signature": true,
  "key""my-secret",
  "storage"{
    "type""file",
    "location""./tmp"
  },
  "source"{
    "type""http"
  },
  "kvstore"{
    "type""redis",
    "host""localhost",
    "port"6379
  }
}

支持的存儲類型包括:

Docker 快速部署

docker run -p 3001:3001 \
  -v $(pwd)/config.json:/app/config.json \
  -v $(pwd)/tmp:/tmp \
  thoas/picfit

使用場景

電商平臺

媒體平臺

多平臺前端適配

性能

擴展

雖然項目本身功能已較爲完整,但你可以擴展:

標題:golang 每日一庫之 picfit
作者:mooncakeee
地址:http://blog.dd95828.com/articles/2025/06/20/1750428410306.html
聯繫:scotttu@163.com

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/hwqAC9E2VaEMXDNc1z72tQ