关于SpringBoot框架下实现SFTP协议上传下载文件
在前段时间工作中有遇到一个需求,就是使用SFTP协议完成上传和下载,由于工作年限较短,没有碰到过这种,所以去网上大概搜了一下,也请教了一下公司同事,大概讲功能给完成了,也是get了一个新技能。
一 准备
其中使用SFTP完成数据传输,我首先是配置下SFTP的连接
(我是将这些都放入到了service层)
之后创建session连接
然后是关闭连接方法
将创建sftp连接和session还有关闭session连接都放到了service层了
上传和下载都在同一个service下便于直接使用sftp创建和关闭连接
之后是下载的service层
service层大概主要功能就这些,查询文件和删除文件因为是做的不是物理删除所以不做演示
之后是controller层的代码
控制层的上传代码
控制层下载代码
将multipartFile转换为File类型
service接口代码,中间做了一个类型转换
接下来就是需要对远程SFTP服务所需要的ip和密码进行配置了,我实在xml文件中进行的配置,之后用实体类引用一下,使用@Value注解,好像需要在类上加上@Validated注解
xml配置的
还有一个可能会碰到的问题就是上传文件的大小限制,我自测的时候没有测出来,后来才发现的,会对文件大小超过1M的进行限制,无法上传,好像是因为spring后来对上产文件大小做了限制,需要取xml文件进行配置一下,必须在spring层级下
大概就是这样,希望对大家有帮助!!!