FTP服务器搭建及C#实现FTP文件的上传 您所在的位置:网站首页 搭建ftp远程文件服务器 FTP服务器搭建及C#实现FTP文件的上传

FTP服务器搭建及C#实现FTP文件的上传

2023-12-24 23:26| 来源: 网络整理| 查看: 265

目录

 1.ftp简介

2.搭建FTP服务器步骤(win10为例)

2.1开启ftp功能

 2.2登录测试

2.2.1从网页登录

 2.2.2通过cmd命令

3.上传文件到FTP服务器

3.1创建类库

3.2调用

 1.ftp简介

        FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文本协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在ftp的使用当中,用户经常遇到两个概念:“下载”(Download)和“上传”(upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

2.搭建FTP服务器步骤(win10为例) 2.1开启ftp功能

        控制面板——》程序和功能——》打开或关闭Windows功能将如图的选框选中

 2.1.2添加FTP站点

        控制面板——》管理工具——》双击Internet信息服务(IIS)管理器如下图添加FTP站点

 2.1.3设置站点名称和想要公开的路径

 2.1.4绑定IP地址和ssl设置

IP地址填本机地址,端口默认21,ssl是一种数字加密证书,可申请,在此没有可选择无。

 

 2.1.5设置权限,建议设置成读取状态,点击完成即可。

2.1.6添加用户

右击计算机——》管理——》本地用户和组——》用户 

       

 2.2登录测试 2.2.1从网页登录

        浏览器中输入命令ftp://本地IP,如下图所示,输入用户名密码

 用户名和密码输入正确的话就会出现公开的路径。

 2.2.2通过cmd命令

        通过出门的命令进入ftp来上传或下载

输入“ftp”切换到ftp下面,然后输入“open 服务器地址” 此时要求输入用户名密上传文件,利用put '本地文件路径',来上传

 

 总结:

┏━━━━━━━━━━━━━━━━━━━━━┓ ┃ftp ┃ ┃c:\ftp ┃ ┃ftp:\open 主机IP+端口 (也可以不用写端口) ┃ ┃当显示****logged in时,就说明登入成功了。 ┃ ┃dir 查看FTP上的文件 ┃ ┃CD 进入某个文件夹 ┃ ┃GET 下载文件到本地 ┃ ┃PUT 上传文件到FTP ┃ ┃delete 删除FTP上的文件 ┃ ┃bye 退出连接 ┃ ┃quit 同上 ┃ ┗━━━━━━━━━━━━━━━━━━━━━┛

3.上传文件到FTP服务器 3.1创建类库 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; namespace PrintDBSQL.Framework.Utility { public class FTPHelper { /// /// FTP的服务器地址,格式为ftp://192.168.1.234:8021/。 /// private string FTPCONSTR { get; set; } /// /// //FTP服务器的用户名 /// private string FTPUSERNAME { get; set; } /// /// //FTP服务器的密码 /// private string FTPPASSWORD { get; set; } public FTPHelper(string ip, string username, string password, string port="21") { FTPCONSTR = string.Format("{0}://{1}:{2}/", "ftp", ip, port); FTPUSERNAME = username; FTPPASSWORD = password; } #region 本地文件上传到FTP服务器 /// /// 上传文件到远程ftp /// /// 本地的文件目录 /// 文件名称 /// public bool UploadFile(string path, string name) { FileInfo f = new FileInfo(path); path = FTPCONSTR + name;//这个路径是我要传到ftp目录下的这个目录下 FtpWebRequest reqFtp = (FtpWebRequest)FtpWebRequest.Create(new Uri(path)); reqFtp.Method = WebRequestMethods.Ftp.UploadFile; reqFtp.UsePassive = false;//只需要添加这一句话 reqFtp.UseBinary = true; reqFtp.Credentials = new NetworkCredential(FTPUSERNAME, FTPPASSWORD); reqFtp.KeepAlive = false; reqFtp.Method = WebRequestMethods.Ftp.UploadFile; reqFtp.ContentLength = f.Length; int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen; FileStream fs = f.OpenRead(); try { Stream strm = reqFtp.GetRequestStream(); contentLen = fs.Read(buff, 0, buffLength); while (contentLen != 0) { strm.Write(buff, 0, contentLen); contentLen = fs.Read(buff, 0, buffLength); } strm.Close(); fs.Close(); return true; } catch (Exception ex) { return false; } } #endregion } } 3.2调用:

        FTP服务器中ftp站点的 物理路径为:C:\\ftpFileLocation。如果将logo.png图片上传至ftp服务器中的MPS文件夹下(即:C:\\ftpFileLocation\MPS\logo.png),调用如下:

string ftpIP= "192.168.11.196"; string ftpPort= "21"; string ftpUserName= "test"; string ftpPassword= "123"; string localPath = "G:\\Project\\logo.png"; string remotePath = "/MPS/logo.png"; FTPHelper FTPHelper = new FTPHelper(ftpIP, ftpUserName, ftpPassword, ftpPort); bool uploadresult = FTPHelper.UploadFile(localPath , remotePath);



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有