简介
FTP是TCP/IP协议组中的协议之一,包括两个组成部分,一是FTP服务端,二是FTP客户端,其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
实例
下面利用Java实现FTP上传图片到远程服务器实例:
1、依赖jar包
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency>
2、FtpUtil用来封装上传文件的工具类
public class FtpUtil { public static void UploadImageByInputStream(InputStream is,String imageName) throws IOException { //创建ftp客户端 FTPClient ftpClient = new FTPClient(); ftpClient.setControlEncoding(\"GBK\"); String hostname = \"127.0.0.1\";//服务器地址 int port = 21;//ftp端口 String username = \"vftp\";//ftp用户名 String password = \"****\";//密码 //连接ftp服务器 ftpClient.connect(hostname, port); //登陆ftp ftpClient.login(username, password); int reply = ftpClient.getReplyCode(); System.out.println(reply); //如果reply返回230就算成功了,如果返回530密码用户名错误或当前用户无权限 if (!FTPReply.isPositiveCompletion(reply)) { ftpClient.disconnect(); return; } //设置文件类型(二进制) ftpClient.setFileType(FTP.BINARY_FILE_TYPE); //设置被动模式 ftpClient.enterLocalPassiveMode(); // ftpClient.makeDirectory(\"images\");//在root目录下创建文件夹 // String remoteFileName = System.currentTimeMillis()+\"_\"+imageName; // ftpClient.storeFile(\"/www/wwwroot/vftp/\"+imageName, is);//文件你若是不指定就会上传到root目录下 ftpClient.storeFile(imageName, is);//文件你若是不指定就会上传到root目录下 is.close(); ftpClient.logout(); ftpClient.disconnect(); } }
3、控制器
@RestController public class FileUploadController { @RequestMapping(\"/upload\") public String upload(@RequestParam(\"file\") MultipartFile file) { if (!file.isEmpty()){ try { InputStream inputStream = file.getInputStream(); FtpUtil.UploadImageByInputStream(inputStream,file.getOriginalFilename()); } catch (IOException e) { e.printStackTrace(); return \"fail\"; } return \"success\"; }else { return \"fail\"; } } }
4、前端页面
<body> <form action=\"/upload\" method=\"post\" enctype=\"multipart/form-data\"> 选择文件:<input type=\"file\" name=\"file\"><br> <input type=\"submit\" value=\"上传\"> </form> </body>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
做猪小侠源码的代理,提供一站式服务
如果你不懂得搭建网站或者服务器,小程序,源码之类的怎么办? 第一通过本站学习各种互联网的技术 第二就是联系客服,我帮帮你搭建(当然要收取部分的费用) 第三成为我们的代理,我们提供整套的服务。