Java实现FTP上传到服务器

2022-09-03 15:47:27 67 0
魁首哥

简介

FTP是TCP/IP协议组中的协议之一,javascript包括两个组成部分,一是FTP服务端,二是FTP客户端,其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

实例

下面利用Java实现FTP上传图片到远程服务器实例:

Java实现FTP上传到服务器

1、依赖jar包

<dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <vwww.cppcns.comersion>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.UploadImajavascriptgeByInputStream(inputStream,file.getOriginalFilename());
      } catch (IOException e) {
        e.printStackTrace();
        return "fail";
      }
      return "success";
    }else {
      return "fail";
    }
  }
}

4、前端页面

<body>
  <form action="/upload" method="post" enctype="mhttp://www.cppcns.comultipart/form-data">
    选择文件:<input type="file" name="file"><http://www.cppcns.com;br>
    <input type="submit" value="上传">
  </form>
</body>

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

收藏
分享
海报
0 条评论
67
上一篇:Java nacos动态配置实现流程详解 下一篇:JAVA错误:&amp;apos;无效目标发行版 17&amp;apos;的解决方案

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码