在学校实验室做实验时,老师会在课上发一些文件(实验材料等一些压缩包),但是这些压缩包在手机上打开需要一些特定的支持(比如必须下载某Q浏览器),实验室的电脑又没有QQ、微信,所以想在电脑上打开文件感觉很鸡肋,于是该项目应运而生(虽然网上也有类似的,但还是自己写的香)。
该项目只提供了三个接口,因为是个人平常用,所以没有提供登录注册的功能。用户通过前端页面上传文件,并填写相关的信息,然后选择上传的文件,文件上传成功后,系统将文件的下载链接发送到填写的邮箱,用户通过分享邮件里的链接分享文件(你只需要在浏览器里打开即可)
前端界面和代码写的很糙:(
- 文件上传
- 文件下载
- 发送邮件
- 接口限流
- Spring
- SpringMVC
- Spring Data JDBC
- Guava(使用了它的限流器和本地缓存)
- MySQL(因为文件不大,我直接将文件按照字节数组存到数据库里)
- Thymeleaf(事实上也没咋用)
- axios
- vue3
- 项目中的异常处理不是很优雅,虽然丑,但也完成了基本的功能,后面学习后会优化项目中异常处理的代码结构
- 给前端界面添加友好提示(看心情吧)
虽然项目很小,但也算比较完整,能够提供基本的功能,项目中也遇到了一些问题
-
tomcat和Spring版本问题
-
SpringMVC6文件上传的问题 对于spring6中怎么写,看官网:https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-servlet/multipart.html
- JDK17
- Tomcat10.x
- Spring6.x
- MySQL8.0
- 拉取代码
git clone git@github.com:eric49861/fileshare.git
- 安装maven中的pom依赖
- 修改配置文件
- 数据库配置
- 邮件服务器配置(我加到了环境变量里)
- 运行项目