博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springBoot整合ftp上传图片功能
阅读量:7156 次
发布时间:2019-06-29

本文共 2559 字,大约阅读时间需要 8 分钟。

知识点:

       springBoot后端项目,接收前端框架传到的图片,把图片上传到ftp图片服务器上

 

1. pom.xml中引入依赖的包

commons-net
commons-net
3.3
2.ftp上传工具类FtpFileUtil.java
package com.hand.hand.util; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; import java.io.IOException; import java.io.InputStream; /** * Created by nishuai on 2018/1/12. */ public class FtpFileUtil { //ftp服务器ip地址 private static final String FTP_ADDRESS = "101.132.1.113"; //端口号 private static final int FTP_PORT = 21; //用户名 private static final String FTP_USERNAME = "ftp"; //密码 private static final String FTP_PASSWORD = "123456"; //图片路径 private static final String FTP_BASEPATH = "/home/ftpadmin/health/images"; public static boolean uploadFile(String originFileName,InputStream input){ boolean success = false; 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(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.setFileType(FTPClient.BINARY_FILE_TYPE); ftp.makeDirectory(FTP_BASEPATH ); ftp.changeWorkingDirectory(FTP_BASEPATH ); ftp.storeFile(originFileName,input); input.close(); ftp.logout(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } }
3.controller层接口 FtpFileUploadController.java
package com.hand.hand.controller; import com.hand.hand.util.FtpFileUtil; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.InputStream; /** * Created by nishuai on 2017/12/26. */ @CrossOrigin @Controller public class FtpFileUploadController { //ftp处理文件上传 @RequestMapping(value="/ftpuploadimg", method = RequestMethod.POST) public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException { String fileName = file.getOriginalFilename(); InputStream inputStream=file.getInputStream(); String filePath=null; Boolean flag=FtpFileUtil.uploadFile(fileName,inputStream); if(flag==true){ System.out.println("ftp上传成功!"); filePath=fileName; } return filePath; //该路径图片名称,前端框架可用ngnix指定的路径+filePath,即可访问到ngnix图片服务器中的图片 } }
 

转载于:https://www.cnblogs.com/shuaifing/p/8274906.html

你可能感兴趣的文章
hadoop(10)--MR运行模式以及Yarn的调度流程
查看>>
UWP 开发初阶 Chapter 13 - ScrollViewer 与 Image 两个 XAML 控件的使用与介绍
查看>>
iOS开发者个人账号升级为公司账号。以及修改开发商公司名为中文
查看>>
DOM2级的変动事件DOMSubtreeModified,DOMNodeInserted,DOMNodeRemoved,DOMNodeInsertedIntoD
查看>>
KubeEdge v0.2版本现已推出
查看>>
一周总结
查看>>
PAT A1154
查看>>
ClassLoader(二)- 加载过程
查看>>
ARouter路由解析
查看>>
如何写出优质干净的代码,这6个技巧你不能错过!
查看>>
安装python包到指定虚拟环境
查看>>
javascript引擎执行的过程的理解--执行阶段
查看>>
PhpStorm配置Xdebug调试
查看>>
JavaScript通信之Ajax
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(三)
查看>>
Spring AOP(一) AOP基本概念
查看>>
深入理解JavaScript中的属性和特性
查看>>
SpringBoot参数校验
查看>>
面试官问你“有什么问题问我吗?”,你该如何回答?
查看>>
腾讯云CentOS上机摸索(一)--如何在退出SSL后仍保持程序运行
查看>>