基于FastAPI框架的开源随机图API

Image Processing API 是一个基于 FastAPI 的图片处理服务,支持图片压缩、加密别名生成、随机图片获取等功能,并通过 SQLite 数据库存储图片信息。该项目旨在提供一个高效、可扩展的图片处理解决方案。

项目地址https://github.com/BorderRegion/Random_Image_API

特性

  • 图片压缩: 支持将图片压缩为指定质量(默认 75),并转换为 JPEG 格式。
  • 加密别名生成: 使用 SHA-256 哈希算法生成图片的加密别名,确保文件名唯一且安全。
  • 随机图片获取: 提供 /random_image 接口,用户可随机获取一张已处理的图片。
  • 别名图片获取: 提供 /image_get/{alias} 接口,用户可通过别名获取指定图片。
  • 速率限制: 支持单 IP 请求速率限制,防止恶意请求。
  • HTTPS 强制: 可配置强制使用 HTTPS 协议。
  • 动态配置: 使用 YAML 文件进行配置管理,灵活调整参数。

1. 获取随机图片

  • URL/random_image
  • MethodGET
  • Response:
    • 成功: 返回随机图片(JPEG 格式)。
    • 失败: 返回 JSON 错误信息。

2. 根据别名获取图片

  • URL/image_get/{alias}
  • MethodGET
  • Response:
    • 成功: 返回指定别名的图片(JPEG 格式)。
    • 失败: 返回 JSON 错误信息。

3.速率限制与 HTTPS 强制

  • 如果单 IP 在指定时间窗口内超过最大请求数(rateLimit),将返回 429 Too Many Requests
  • 如果启用了 strict_https,所有 HTTP 请求将被重定向到 HTTPS。

日志记录

日志信息会同时输出到控制台和文件 api.log 中,方便调试和监控。

示例日志格式:

2023-10-01 12:00:00 - INFO - 开始初始化 API...
2023-10-01 12:00:01 - INFO - 数据库连接成功
2023-10-01 12:00:02 - INFO - 端口可用
2023-10-01 12:00:03 - INFO - 文件夹已创建: Processed

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇