文章目录
注
- 文章是个人知识点整理总结,如有错误和不足之处欢迎指正。
- 如有疑问、或希望与笔者探讨技术问题(包括但不限于本章内容),欢迎添加笔者微信(o815441)。请备注“探讨技术问题”。欢迎交流、一起进步。
需求描述:
需求其实很简单就是文件下载。
前端以下简称为:client
后端服务器简称:oneServer
文件所在服务器简称:fileServer
解决方案
- 运用jcifs包中的SmbFile方法,oneServer只需要知道fileServer的用户名密码,就可以直接访问到fileServer中的文件。
SmbFile file = new SmbFile(“smb://guest:123@10.1.88.3/uplo/test.txt”);
此方法详细实现可以百度哈。没采用该方案的原因:
- 因为我们公司的服务器密码是时常更新的,每次都到服务器密码系统申请才能登录。
- 这种方法会存在一定的安全问题。
- 将fileServer做成FTP服务器,这样oneServer访问fileServer就也很方便。
没采用该方案的原因:
- 公司已经有文件服务器了,只是我们项目特殊,没有接入而已
- 由于我之前没有做过FTP服务器,怕耗时过长,影响项目进度。
- 即使做出了FTP服务器,后续架构评审也会非常耗时。
- 写一个JavaWeb项目到fileServer,让其提供文件下载接口,oneServer通过请求该接口下载文件并发送给client。
采用该方案的原因
- 无需公司架构评审。只需要写一个javaWeb程序提供服务即可。
- 只需要操作流,fileServer读取文件信息流传送给oneServer,oneServer直接把流传输给前端,只需要考虑信息流的高效即可。
以上这三种方案都是可以实现的,肯定不只局限于这三种方案。才疏学浅,只能想到这三种,有