如何用Java代码实现向FTP服务器上传文件?

2026-05-24 01:171阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计503个文字,预计阅读时间需要3分钟。

如何用Java代码实现向FTP服务器上传文件?

简介:FTP协议是TCP/IP协议族中的一员,包括两部分:一、FTP服务器端,用于存储文件;二、FTP客户端,通过FTP协议访问服务器上的资源。用户可利用FTP客户端上传、下载文件。

简介

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用来封装上传文件的工具类

如何用Java代码实现向FTP服务器上传文件?

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计503个文字,预计阅读时间需要3分钟。

如何用Java代码实现向FTP服务器上传文件?

简介:FTP协议是TCP/IP协议族中的一员,包括两部分:一、FTP服务器端,用于存储文件;二、FTP客户端,通过FTP协议访问服务器上的资源。用户可利用FTP客户端上传、下载文件。

简介

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用来封装上传文件的工具类

如何用Java代码实现向FTP服务器上传文件?

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。