怪兽啊

导航

关于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层级下

 

大概就是这样,希望对大家有帮助!!! 

posted on 2021-10-21 15:11  怪兽啊  阅读(1196)  评论(0编辑  收藏  举报