Windows安装配置ftp服务器

1. 在计算机管理的本地用户和组新建一个用来登录ftp服务器的用户:

2. 在D盘新建一个测试目录ftp_upload:

3. 添加Windows的FTP组件和IIS组件:

4. 打开IIS管理平台,在网站那里右键,选择添加FTP站点,配置相关信息:

4.1 配置本地上传的物理路径:

4.2 配置IP和SSL,这里不选择SSL先

4.3 权限配置

5. 登录

在我的电脑输入如下链接,然后输入刚刚创建的账号linjk及其密码即可

6. 基于JAVA的ftp文件上传

上面是使用图形界面的模式,下面基于java来配置使用

6.1 添加maven依赖

6.2 编写上传部分代码

package cn.linjk.Utils;

import org.apache.commons.net.ftp.FTPClient;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FtpClient {
    /**
     * ftp上传单个文件
     * @param ftpUrl      ftp地址,ip即可,不需要ftp://前缀
     * @param userName    ftp的用户名
     * @param password    ftp的密码
     * @param directory   上传至ftp的目录路径名,不包括ftp地址
     * @param srcFileName 要上传的文件全路径名
     * @param destName    上传至ftp后存储的文件名
     * @throws IOException
     */
    public static boolean upload(String ftpUrl,
                                 String userName,
                                 String password,
                                 String directory,
                                 String srcFileName,
                                 String destName) throws IOException {
        FTPClient ftpClient = new FTPClient();
        FileInputStream fis = null;
        boolean result = false;
        try {
            ftpClient.connect(ftpUrl,21); // ftp端口默认为21
            ftpClient.login(userName, password);
            ftpClient.enterLocalPassiveMode();
            File srcFile = new File(srcFileName);
            fis = new FileInputStream(srcFile);
            ftpClient.changeWorkingDirectory(directory); // 设置上传目录
            ftpClient.setBufferSize(1024);
            ftpClient.setControlEncoding("gbk");
            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE); // 设置文件类型(二进制)
            result = ftpClient.storeFile(destName, fis);
            return result;
        }
        catch(FileNotFoundException e){
            throw new FileNotFoundException();
        }
        finally {
            if (fis != null) {
                fis.close();
            }
            try {
                ftpClient.disconnect();
            }
            catch (IOException e) {
                throw new RuntimeException("关闭FTP连接发生异常!", e);
            }
        }
    }
}

7. 测试代码

运行后,在刚刚配置的D盘的ftp_upload的linjk子目录下会有test.txt文件:

猜你喜欢

转载自blog.csdn.net/linjingke32/article/details/78600032
今日推荐