SSM+AliyunOss写的一个在线web端小型文件管理系统

一个多月没有写博客了。这一个多月就沉迷学习java当中。一位大佬传承了一份java相关毕业设计的源代码下来,然后研究这份代码一个多月了,然后正好碰上java实训,于是就想用相关知识做一个web端的java实训。
项目利用Maven管理包,Spring+SpringMVC+Mybatis框架,简称SSM框架,然后因为是文件管理系统,设计到文件上传下载,这里选用云端的aliyunOss。以上大概就是项目的简介。框架的搭建maven的使用不赘述了网上一大把。下面整理下项目编写的思路。

一、项目前端逻辑

设计用户登录界面,和文件管理操作界面。在项目下的view层面只有两个模板,即登录---login.html,文件操作---manage.html

二、项目后端逻辑

login页面登录后session保存user模型供全局访问,manage页面展示出该用户存在oss云端的文件,然后可进行上传和下载。

三、用户,文件实体(entity)

用户实体:

private String userId;

private String username;

@JsonIgnore
private String password;

@JsonIgnore
private Date createTime;

文件实体:

//文件hash值
private String hash;

private String hashId;

//文件路径
private String path;

//文件后缀
private String suffix;

private Date createTime;

文件上传实体:
private String uploadId;

//操作者user ID
private String userId;

private String hashId;

private String fileName;

private Date createTime;

private long size;

private Date lastModified;

四、代码逻辑流程

登录逻辑就不废话了。

文件相关逻辑:
对文件相关的操作我都放在的FileController控制器中
1.文件上传
我采用的是api形式,上传文件的api地址是/file/upload,参数POST进来 MultipartFile 类型参数接受文件,开启InputStream输入流,获取文件的输入流,然后对文件名进行拆分得到前缀后缀预备后续入库操作,然后得到文件的字节内容buffer,将收集到的fileName,suffix,buffer和对应的用户Id写入传输流FileUploadDTO,DTO就是一个规范的传输流。比如这里的FileUploadDTO就是对文件传输的一个规范,需求4个条件,即fileName,suffix,buffer和对应的用户Id组成了FileUploadDTO,然后调用FileService接口下的uploadFile方法

fileService.upload(dto);

完成文件的上传操作。upload具体操作是由FileuploadServiceImpl实现的FileSerivce接口,具体方法的定义都在FileuploadServiceImpl中实现。
2.文件下载
整个文件的下载都是基于AliyunOss提供的javaSDK完成的。
自行编写了一个获取一个文件10分钟有效的下载链接接口/file/getUrl,

哇 写不下去了= =因为整个项目设计到很多相关依赖,感觉都是精华,少提一点我都觉得没法讲,讲多了又显得臃肿= =我还是再整理下。= = 2017-5-27

已有 4 条评论
  1. 厉害

    1. 写得很好,很感激。已经收藏了。

  2. 少年,我看你骨骼精奇,是万中无一的武学奇才,维护世界和平就靠你了,我这有本秘籍《辟邪剑谱》就送个给你了。他日必成大神,哈哈

    1. 哈哈哈 我已经有如来神掌了2333

添加新评论