目录
- 一、该图片服务器的功能
- 二、设计
- 数据库设计
- 前后端交互设计
- 新增图片
- 查看所有图片属性
- 查看指定图片属性
- 删除指定图片
- 查看部分图片内容
一、该图片服务器的功能
1.可以选择文件上传或删除
2.拥有防盗功能
3.展示图片
二、设计
数据库设计
图片表中需要储存的数据有:
列名 | 含义 | 类型 | 备注 |
---|---|---|---|
imageId | 图片的Id | int | 不可重复,不可为空,自增(现实中用户无法设置图片的Id) |
imageName | 图片名字 | varchaar(50) | |
size | 图片的大小 | int | |
uploadTime | 图片上传时间 | varc har(50) | |
contenType | 图片类型 | varchar(50 | HTTP响应头中的一个字段,用于定义文件的类型和网页编码,决定网页以什么形式读取文件 |
path | 图片路径 | varchar(1024) | 图片会以文件形式存在磁盘,数据库中记录下存储路径对应词攀上的图片 |
md5 | 图片的校验和 | varchar(1024) | 用于提高该系统的安全性(通过一个更短的字符串来验证整体数据是否正确) |
前后端交互设计
功能:新增图片,查看所有图片属性,查看部分图片属性,删除指定图片,查看部分图片内容
新增图片
1.请求:POST/image
2.响应:
(1)成功:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
{
<!--业务交互成功-->
"OK" : true;
}
(2)失败:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
<!--业务交互失败-->
{
"OK" : false;
"reason" : "失败原因"
}
查看所有图片属性
1.请求:GET/image
2.响应:
(1)成功
HTTP/1.1 200 OK
<!--HTTP交互成功-->
[
<!--业务交互成功-->
{
imageId:1,
imageName:"图片1.png",
size:41,
uploadTime:"20230819",
contentType:"image/png",
path:"./data/image/图片1.png",
md5:"12834uer8";
}
{
imageId:1,
imageName:"图片2.png",
size:21,
uploadTime:"20230819",
contentType:"image/png",
path:"./data/image/图片2.png",
md5:"149she9r8";
}
......
<!--不止一组数据-->
]
(2)失败:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
<!--业务交互失败-->
{
"OK" : false;
"reason" : "失败原因"
}
查看指定图片属性
1.请求:GET/image?imageId=[具体值]
2.响应:
(1)成功
<!--HTTP交互成功-->
HTTP/1.1 200 OK
{
<!--业务交互成功-->
"OK" : true;
}
(2)失败:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
<!--业务交互失败-->
{
"OK" : false;
"reason" : "失败原因"
}
删除指定图片
1.请求:DELETE/image?imageId=[具体值]
2.响应:
(1)成功
<!--HTTP交互成功-->
HTTP/1.1 200 OK
{
<!--业务交互成功-->
"OK" : true;
}
(2)失败:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
<!--业务交互失败-->
{
"OK" : false;
"reason" : "失败原因"
}
查看部分图片内容
1.请求:DELETE/imageShow?imageId=[具体值]
2.响应:
(1)成功
<!--HTTP交互成功-->
HTTP/1.1 200 OK
content-yype:image/png
[图片的二进制内容]
{
<!--业务交互成功-->
"OK" : true;
}
(2)失败:
<!--HTTP交互成功-->
HTTP/1.1 200 OK
<!--业务交互失败-->
{
"OK" : false;
"reason" : "失败原因"
}