需要在C#中支持文件批量上传功能,第一时间想到的就是用FTP。由于之前没有用过FTP,本文先基于参考文献学习如何在Windows Server 2008搭建FTP服务,后续再学习在客户端用C#调用FluentFTP传输文件。
  在Windows Server 2008中搭建FTP服务主要分为4大块内容:1)添加FTP功能;2)创建FTP专用账号;3)创建FTP专用文件夹;4)在IIS中创建FTP站点。下面逐一进行说明。
  在控制面板->程序->程序和功能中点击打开或关闭window功能,打开服务器管理器,然后在角色节点上右键选择添加角色。

容器搭建ftps服务_WinServer2008


  在角色服务中勾选FTP服务器,完成FTP服务器功能安装。

容器搭建ftps服务_容器搭建ftps服务_02


  接着在服务器管理的配置节点中选择本地用户和组,在用户下创建ftpuser用户(也可以创建组,后续创建ftp服务时可以指定具体用户或组)。

容器搭建ftps服务_容器搭建ftps服务_03


  在本地磁盘中新建FtpTest文件夹保存ftp传输的文件,为避免权限问题,可以将该文件夹设置为everyone完全控制权限。

容器搭建ftps服务_Server_04


  最后打开IIS,在网站节点上点右键,选择“添加FTP站点”。

容器搭建ftps服务_容器搭建ftps服务_05


  在弹出的创建中设置站点名称,指定物理路径,然后点击下一步。

容器搭建ftps服务_服务器_06


  接着配置IP地址、端口和是否加密连接。FTP服务默认段鸥为21,本文中将其修改为21001,另外不需要加密连接(设置为加密的话则需要指定服务器证书)。点击下一步按钮。

容器搭建ftps服务_FTP_07


  接着配置身份验证方式,包括匿名和基本两类。本文中设置必须指定用户访问,也即身份验证方式设置为基本。然后授权设置为运行指定用户(刚才在本地用户和组中添加了ftp专用用户)读取和写入。最后点击完成按钮自动运行ftp服务。

容器搭建ftps服务_容器搭建ftps服务_08


  至此已完成在Windows Server 2008搭建FTP服务。为测试是否能访问FTP服务。在另一电脑上的浏览器中输入ftp://192.168.11.50:21001,会弹出输入用户名和密码窗口。输入正确的用户名和密码后即可看到ftp服务器中的文件信息,如下所示。

容器搭建ftps服务_Server_09


容器搭建ftps服务_Server_10


  这里还有个问题要说明,在chrome浏览器中输入ftp地址不会访问ftp服务器,而是会弹出下面的窗口,打开另外的浏览器。百度了此问题,应该是chrome的事,具体情况可以百度详情。

容器搭建ftps服务_服务器_11

参考文献
[1]
[2]https://blog.csdn.net/xiexiangyan/article/details/78355601?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1.pc_relevant_default&spm=1001.2101.3001.4242.2&utm_relevant_index=4
[3]