【Java实战项目】【超详细过程】—大饼的图片服务器01

news2024/11/26 12:49:41

目录

  • 一、该图片服务器的功能
  • 二、设计
    • 数据库设计
    • 前后端交互设计
    • 新增图片
    • 查看所有图片属性
    • 查看指定图片属性
    • 删除指定图片
    • 查看部分图片内容


一、该图片服务器的功能

1.可以选择文件上传或删除
2.拥有防盗功能
3.展示图片

二、设计

数据库设计

图片表中需要储存的数据有:

列名含义类型备注
imageId图片的Idint不可重复,不可为空,自增(现实中用户无法设置图片的Id)
imageName图片名字varchaar(50)
size图片的大小int
uploadTime图片上传时间varc har(50)
contenType图片类型varchar(50HTTP响应头中的一个字段,用于定义文件的类型和网页编码,决定网页以什么形式读取文件
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" : "失败原因"
  }

感谢您对大饼的支持
今天的你也很辛苦,晚安,明天见!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/969564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zabbix企业微信告警

目前&#xff0c;企业微信使用要设置可信域名 华为云搜索云函数 创建函数 选择http函数&#xff0c;随便输入函数名字 回到函数列表&#xff0c;选择刚创建的函数&#xff0c;创建触发器&#xff0c;安全模式选择none 点击右上角管理 选刚创建的api&#xff0c;右边操作点…

JVM中JAVA对象和数组内存布局

对象 数组 在Java中&#xff0c;所有的对象都是一种特殊的数组&#xff0c;它们的元素可以是基本数据类型、其他对象引用或者其他任何类型。Java对象和数组的内存布局包含以下部分&#xff1a; 1.对象头&#xff08;Object Header&#xff09; 每个Java对象都有一个对象头&am…

关于异或的小疑惑

今天写c&#xff0c;当我写出如下代码时&#xff0c;编译器报错了 #include<bits/stdc.h>using namespace std;int main(){int a1,b3,c2,d6;// cout<<(a^b^c^d)<<endl;cout<<a^b^c^d<<endl;return 0; } D:\sublineText\demo\demo.cpp: In funct…

UE4 Physics Constraint Actor 实现钟摆效果

放入场景&#xff0c;然后将一个球体放入场景 选择小球 将小球改为Movable 选择模拟物理&#xff0c;并将小球移除平衡点 就实现了

SAP-PP:基础概念笔记-5(物料主数据的工作计划视图)

文章目录 前言一、工作计划视图Production Supervisor 生产管理员生产计划参数文件序列号参数文件&#xff1a;序列化级批次管理批次管理工厂&#xff1a;需要批量记录&#xff1a;批量输入&#xff1a;不足交货允差 Underdelivery Tolerance&#xff1a;过度交货允差 Overdeli…

SAP-Tech:SAP EDI出站流程处理组件概念

文章目录 出站流程所使用的组件IDoc结构选择程序消息控制端口定义RFC目的地合作伙伴文件服务程序和配置表 总结 出站流程所使用的组件 出站流程使用了 IDoc类型&#xff0c;消息控制&#xff0c;伙伴文件&#xff0c;选择程序&#xff0c;服务程序&#xff0c;和生成IDoc的表。…

Linux驱动中常用的一些接口函数(经典)

​第一&#xff1a;设备树相关 查找节点的of函数 of_find_node_by_name struct device_node *of_find_node_by_name(struct device_node *from, const char *name);通过节点名字查找指定的节点 from&#xff1a;要开始查找的节点 name&#xff1a;节点名字 of_find_node_…

CSS 滚动驱动动画 scroll()

CSS 滚动驱动动画 scroll() animation-timeline 通过 scroll() 指定可滚动元素与滚动轴来为容器动画提供一个匿名的 scroll progress timeline. 通过元素在顶部和底部(或左边和右边)的滚动推进 scroll progress timeline. 并且元素滚动的位置会被转换为百分比, 滚动开始被转化为…

Nginx详解 四:重写功能

文章目录 1. 重写功能简介2. if 指令2.1 基本语法 3. return 指令3.1 语法格式3.2 示例3.2.1 状态码及响应报文返回3.2.2 URL返回 4. set 指令4.1 基本语法4.2 示例 5. break 指令5.1 示例 6. rewrite 指令6.1 语法格式6.2 rewrite flag部分使用介绍6.3 示例6.3.1 重写URL路径:…

攻防世界-Broadcast

原题 解题思路 原以为要运行py文件&#xff0c;结果打开就有

信息系统项目管理师(第四版)教材精读思维导图-第十章项目进度管理

请参阅我的另一篇文章&#xff0c;综合介绍软考高项&#xff1a; 信息系统项目管理师&#xff08;软考高项&#xff09;备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 本章思维导图PDF格式 本章思维导图XMind源文件 ​ 目录 10.1 管理基础 10.2 管理过程 10.3…

华为静态路由配置实验(超详细讲解+详细命令行)

系列文章目录 华为数通学习&#xff08;7&#xff09; 前言 一&#xff0c;静态路由配置 二&#xff0c;网络地址配置 AR1的配置&#xff1a; AR2的配置&#xff1a; AR3的配置&#xff1a; 三&#xff0c;测试是否连通 AR1的配置: 讲解&#xff1a; AR2的配置&#…

如何制作一个百货小程序

在这个数字化时代&#xff0c;小程序已成为各行各业的必备工具。其中&#xff0c;百货小程序因其便捷性和多功能性&#xff0c;越来越受到人们的青睐。那么&#xff0c;如何制作一个百货小程序呢&#xff1f;下面&#xff0c;我们就详细介绍一下无需编写代码的步骤。 一、进入后…

如何在虚拟机上安装各类操作系统(以CentOS7系统为例)

1.安装 VMware Workstation Pro 官方下载链接: 官方已经出到17了&#xff0c;我用的是16 https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 成功安装效果如下&#xff1a; 2.准备对应操作系统的ISO镜像文件 我们要下载CentOS7系统&am…

Nginx详解 第五部分:Ngnix反向代理(负载均衡 动静分离 缓存 透传 )

Part 5 一、正向代理与反向代理1.1 正向代理简介1.2 反向代理简介 二、配置反向代理2.1 反向代理配置参数2.1.1 proxy_pass2.1.2 其余参数 2.2 配置实例:反向代理单台web服务器2.3 代理转发 三、反向代理实现动静分离四、缓存功能五、反向代理客户端的IP透传5.1 原理概述5.2 一…

PCL error C4996和warning C4819 解决办法

每当新建一个项目时&#xff0c;常常会遇到这两个错误&#xff0c;这次记录一下解决办法加深记忆 1.error C4996 报错&#xff1a;error C4996 ‘pcl::PassThroughpcl::PointXYZ::setFilterLimitsNegative’: use inherited FilterIndices::setNegative() instead (It will b…

React 第一个Demo

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库 次笔记仅记录学习React过程中的笔记&#xff0c;因为有必要掌握一门前端的框架&#xff0c; 在vue和React中选择了React。 0x01 正文 目标&#xff1a; 实现Demo&#xff1a; <!DOCTYPE html> <html lang&q…

java-方法重载

定义&#xff1a;一个类中&#xff0c;出现多个方法名称相同&#xff0c;但是他们的行参列表不同&#xff0c;那么这些方法就称为方法重载了。

Hydra工具的使用

目录 Hydra初识 Hydra使用 hydra破解mysql 前言 不固定用户名密码爆破 hydra破解ssh 以用户名为密码登录 hydra破解rdp 将爆破密码的结果输出到文件中 Hydra初识 前言&#xff1a; hydra是一款开源的暴力破解工具&#xff0c;支持多种服务破解原理&#xff1a;使用户…

NSSCTF2nd与羊城杯部分记录

文章目录 前言[NSSCTF 2nd]php签到[NSSCTF 2nd]MyBox[NSSCTF 2nd]MyHurricane[NSSCTF 2nd]MyJs[NSSCTF 2nd]MyAPK羊城杯[2023] D0nt pl4y g4m3!!!羊城杯[2023]ezyaml羊城杯[2023]Serpent羊城杯[2023]EZ_web羊城杯[2023]Ez_misc总结 前言 今天周日&#xff0c;有点无聊没事干&a…