项目背景
本人在 写博客上传图片时发现,一般网站都是将图片统一存到自己的图片服务器中,并给出一个 URL 链接,如下图中的:
https://img-blog.csdnimg.cn/20201105173716146.jpg
用户可以通过此 URL 使用此图片。 但是网站的图片服务器并不为用户提供其他功能了,所以本人萌生了“写一个自己的图片服务器”的想法,并且添加其他的一些功能。除了上传图片、查看图片与使用图片写博客,还有查看所有图片信息、查看指定图片信息与删除指定图片及信息等功能。
整体思路
搭建一个 HTTP 服务器,可在客户端上完成图片上传、展示等功能,图片内容与信息将被保存在服务器中,使用不同的 URL 即可查看图片信息、查看指定图片、删除指定图片。
用户角度需求
方便博主在云端使用图片,节省本地存储开销上传图片,得到一个 URL根据该 URL 可以获取图片内容以及查看图片信息、删除图片等功能
设计角度-模块划分
数据库模块(使用 MySQL 数据库管理图片文件以及图片信息)服务器模块(为前端提供接口)客户端模块 及 测试(使用 Postman 软件测试)
项目特点
基于 MySQL C API 搭建 MySQL 数据库实现对所有图片信息的管理基于 cpp-httplib 搭建 HTTP 服务器和客户端实现通信服务器设计基于 RESTful 风格 API使用 JSON 作为数据交互格式使用 Postman 进行单元测试使用 C++11 特性“正则表达式”上传图片时即可算出图片的 MD5 并保存,用户可校验所下载图片是否未被修改过
下一篇:【HTTP图片服务器】【项目记录2】:安装、配置MySQL环境