立山 发表于 2025-3-17 02:53:32

[local-file-system]基于服务器磁盘的本地文件存储方案

基于服务器磁盘的本地文件存储方案

仅提供后端方案
github
环境



[*]JDK11
[*]linux/windows/mac
应用场景



[*] 适用于ToB业务,中小企业的单体服务,仅利用磁盘存储文件的办理方案
[*] 仅利用服务器磁盘存储
[*] 与业务实体相团结的文件存储方案,如企业中对于设备信息维护,必要上传对应文件,类型包罗”设备采购合同文件“,”设备验收照片“等,在本项目中的维护形式可见如下图。
https://i-blog.csdnimg.cn/direct/69eaeb27cb764407933453fecaeec1e3.png
效果示例

https://i-blog.csdnimg.cn/direct/ac191954e7e04b29960c854b1e2374c7.png
表布局操持

本项目利用sqlserver作为数据库,现在仅提供sqlserver的表脚本初始化sql。
本项目长期性框架利用Mybatis-Plus,可轻松切换至Oracle,MySql等数据库。
本项目重要利用两个表


[*]t_file 文件信息的存储表,包含文件名称、类型后缀、巨细、相对文件路径(现在file_path表相对)、module模块名(可对应配置存储目次)。留意,此表中module_name模块用于分类。
[*]tr_link_file 文件与模块的关联表,利用link_id表现其他各种表(设备表、工厂表)的id主键, file_id表现t_file的id主键。module_name表现属于哪个模块的文件关联(可以表现此link_id的泉源)。
见如下图,可表现为


[*]设备必要维护设备照片信息,我们必要提前定义module_name为”Equipment_photo“,在前端通过api上传后存储到t_file,而实际文件存储到对应磁盘位置,并返回FileInfo信息(fileId,fileName),前端得到已经存储的文件id后,可在用户点击保存信息时,将fileId集合携带,系统再进行关联操作,在tr_link_file表中维护对应的关联数据。(缺点:用户上传文件后,如果不进行保存设备信息,那么tr_link_file的关联是无法建立的。)
https://i-blog.csdnimg.cn/direct/a8ce723b33314cdd9011a5dc01595b3f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [local-file-system]基于服务器磁盘的本地文件存储方案