springboot如何通过集成ftp实现文件上传
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要为大家展示了"springboot如何通过集成ftp实现文件上传",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot如何通过集成
千家信息网最后更新 2025年11月07日springboot如何通过集成ftp实现文件上传3、UploadController
这篇文章主要为大家展示了"springboot如何通过集成ftp实现文件上传",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot如何通过集成ftp实现文件上传"这篇文章吧。
1、FileUtil
package io.renren.modules.oss.utils;import org.apache.commons.net.ftp.FTPClient;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import org.springframework.util.StringUtils;import java.io.IOException;import java.io.InputStream;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;@Componentpublic class FileUtil { //ftp服务器ip地址 @Value("${custom.config.file-server.ip}") // 相关配置放在application.properties 中 String FTP_ADDRESS; //端口号 @Value("${custom.config.file-server.port}") Integer FTP_PORT; //用户名 @Value("${custom.config.file-ftp-user}") String FTP_USERNAME; //密码 @Value("${custom.config.file-ftp-password}") String FTP_PASSWORD; //图片路径 @Value("${custom.config.file-savepath}") String FTP_BASEPATH; //根据当前文件生成 文件夹 private static String getTimePath() { Date now = new Date(); DateFormat format = new SimpleDateFormat("yyyy/MM/dd/"); return format.format(now); } public String upload(InputStream inputStream, String originName) { StringBuilder url = new StringBuilder(); FTPClient ftp = new FTPClient(); ftp.setControlEncoding("GBK"); try { int reply; ftp.connect(FTP_ADDRESS, FTP_PORT);// 连接FTP服务器 ftp.login(FTP_USERNAME, FTP_PASSWORD);// 登录 reply = ftp.getReplyCode(); System.out.println("reply:" + reply); ftp.enterLocalPassiveMode();//开启被动模式,否则文件上传不成功,也不报错 String timePath = getTimePath(); String saveDir = FTP_BASEPATH + timePath; url.append(saveDir); ftp.setFileType(FTPClient.BINARY_FILE_TYPE); createDir(ftp, saveDir); //ftp.makeDirectory(saveDir); // ftp.changeWorkingDirectory(FTP_BASEPATH); originName= System.currentTimeMillis()+originName.substring(originName.lastIndexOf('.')); url.append(originName); ftp.storeFile(originName, inputStream); inputStream.close(); ftp.logout(); } catch (IOException e) { throw new RuntimeException("文件上传失败"); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return url.toString(); } // 创建文件夹,并切换到该文件夹 // 比如: hello/test //最终会切换到test 文件夹返回 private void createDir(FTPClient client, String path) throws IOException { String[] dirs = path.split("/"); for (String dir : dirs) { if (StringUtils.isEmpty(dir)) { continue; } if (!client.changeWorkingDirectory(dir)) { client.makeDirectory(dir); } client.changeWorkingDirectory(dir); } }}2、application.properties
#//ftp服务器ip地址custom.config.file-server.ip=111.229.65.208#String FTP_ADDRESS;#//端口号custom.config.file-server.port=21#Integer FTP_PORT;#//用户名custom.config.file-ftp-user=root#String FTP_USERNAME;#//密码custom.config.file-ftp-password=123456#String FTP_PASSWORD;#//图片路径custom.config.file-savepath=/upload#String FTP_BASEPATH;
3、UploadController
/** * 上传文件 */String fileUrl = fileUtil.upload(file.getInputStream(), file.getOriginalFilename());得到路径:/upload2020/11/23/1606122890137.jpg
4、ftp查看
以上是"springboot如何通过集成ftp实现文件上传"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
文件夹
内容
服务器
篇文章
路径
服务
口号
图片
地址
密码
用户
用户名
切换
学习
帮助
成功
易懂
更多
条理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
万象酒店服务器配置
dell存储和华为服务器连接
欧姆龙dm区数据库
工行互联网最大的科技
朴赛服务器怎么使用
数据库在每个表中录入数据
魅影网络软件开发有限公司
中国数据库分布
删除数据库中的vlan
中国人遗传数据库
远程租赁服务器安全吗
移动公司网络安全教育总结
河北智能软件开发定制
贵州软件开发公司有哪些
沭阳网络技术诚信服务
上海网络安全防护报名费
燃烧的远征哪个服务器好还不排队
数据库 A股
数据库字典文件
机架式服务器更换内存条
计算机网络技术理论总结
西安软件开发合伙人
桓台工具软件开发
浪潮服务器配置管理卡
pb怎么设置数据库窗口
联想ibm服务器售后
百万网络安全基地
品胜数据库
roblox托马斯逃脱服务器名称
jsp怎么用数据库数据