在前段時間工作中有遇到一個需求,就是使用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層級下
大概就是這樣,希望對大家有幫助!!!