ftp服务器搭建部署与C#实现ftp文件的上传的示例

目录
  • 一、简介
  • 二、搭建FTP服务器步骤(Window sserver 2016为例)
  • 三、登录测试
  • 四、C#上传文件到FTP服务器

一、简介

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

二、搭建FTP服务器步骤(Window sserver 2016为例)

安装FTP服务器及部署  

添加FTP站点

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

添加ftp上传下载专用用户(也可以选择不添加,使用管理员用户也OK)

到此ftp服务器安装和搭建部署,就完成了。

三、登录测试

浏览器中输入命令 ftp://IP:端口,弹窗提示输入刚刚新建的用户名密码即可。

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

四、C#上传文件到FTP服务器

        /// <summary>
        /// FTP的服务器地址,格式为ftp://192.168.1.234:8021/。
        /// </summary>
        public string FTPCONSTR { get; set; }
        /// <summary>
        /// //FTP服务器的用户名
        /// </summary>
        private string FTPUSERID { get; set; }
        /// <summary>
        /// //FTP服务器的密码
        /// </summary>
        private string FTPPASSWORD { get; set; }
        private string ftpIP { get; set; }
        private string ftpPort { get; set; }
public FTPHelper(string ip = "IP", string username = "登录用户名", string password = "用户密码", string port = "端口")
        {
            FTPCONSTR = string.Format("{0}://{1}:{2}/", "ftp", ip, port);
            FTPUSERID = username;
            FTPPASSWORD = password;
        }
        /// <summary>
        /// 上传文件到远程ftp
        /// </summary>
        /// <param name="path">本地的文件目录</param>
        /// <param name="name">文件名称</param>
        /// <returns></returns>
        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(FTPUSERID, 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;
            }
        }

调用

            string txtFilePath="";
            try
            {
                OpenFileDialog openFileDialogTemp = new OpenFileDialog();
                openFileDialogTemp.Title = "选择要上传的文件";
                DialogResult dr = openFileDialogTemp.ShowDialog();
                if (!File.Exists(openFileDialogTemp.FileName))
                {
                    GLOBALS.msgbox("内容为空,请选择文件");
                    return;
                }
                if (dr == DialogResult.OK)
                {
                    txtFilePath= openFileDialogTemp.FileName;
                    string filePath = this.txtFilePath.Text;

                }
            }
            catch (Exception ex)
            {

            }
            string id = DateTime.Now.ToString("yyyyMMddHHmmss");
            string isPath = DateTime.Now.ToString("yyyy-MM-dd");
            string filePath = txtFilePath;
            string uploadUrl = isPath + "\\" + id + ".jpg";
            FTPHelper FTPHelper = new FTPHelper();
            bool uploadresult = FTPHelper.UploadFile(filePath, uploadUrl);

如需ftp检测目录是否存在,不存在则创建文件夹,参考以下链接

C# ftp检测目录是否存在和创建文件夹

到此这篇关于ftp服务器搭建部署与C#实现ftp文件的上传的示例的文章就介绍到这了,更多相关C# ftp文件上传内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C# 实现FTP上传资料的示例

    1.通过用FTP进行上传文件,首先要实现建立FTP连接,一般建立FTP连接,需要知道FTP配置有关的信息.一般要在Bean中建立一个ServiceFileInfo.cs文件进行记录,一般需要FTP地址.登录用户名和登录密码.然后通过其他页面进行访问读取.代码样式如下: class ServiceFileInfo { // service1 public static string txtFilePath = @"ftp://12.128.128.01/FileName/"; //use

  • C# 中实现ftp 图片上传功能(多快好省)

    前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只有一个主键Id,一个身份证正面路径和一个身份证背面路径三个字段. 首先呢,我们把实体类新建好如下: public class ImageModel:BaseEntity { /// <summary> /// 用户Id /// </summary> public int ID { ge

  • C#利用SFTP实现上传下载

    sftp是ftp协议的升级版本,是牺牲上传速度为代价,换取安全性能,本人开始尝试使用Tamir.SharpSSH.dll但它对新版本的openssh 不支持,所有采用Ssh.Net方式 需要依赖:Renci.SshNet.dll 下载链接 /// <summary> /// SFTP操作类 /// </summary> public class SFTPHelper { #region 字段或属性 private SftpClient sftp; /// <summary&g

  • 关于c#连接ftp进行上传下载实现原理及代码

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace ftponload { class Program { static void Main(string[] args) { //上传文件的方法 onload("D://outPut.txt"); //下载文件的方法 fload(); } pub

  • C#开发教程之FTP上传下载功能详解

    搭建FTP服务器,供大家参考,具体内容如下 最近要实现这样一个功能:FTP服务器的上传和下载,搜集了一些资料,在c播客上看到昵称为"傻丫头和科技"的作者写的一篇文章写得挺好,有的地方个人觉得不是很详细,自己稍作修改后放在这和大家一起学习分享. 1.首先我们创建一个用户,当然不想创建用户使用当前登录的用户也可以当前用户登录.(右键"计算机"--管理--) 2.我们要安装必须的IIS组件(控制面板--程序--打开或关闭Windows功能) 3.在本地创建一个文件夹作为F

  • C#实现FTP上传文件的方法

    1.通过用FTP进行上传文件,首先要实现建立FTP连接,一般建立FTP连接,需要知道FTP配置有关的信息.一般要在Bean中建立一个ServiceFileInfo.cs文件进行记录,一般需要FTP地址.登录用户名和登录密码.然后通过其他页面进行访问读取.代码样式如下: class ServiceFileInfo { // service1 public static string txtFilePath = @"ftp://12.128.128.01/FileName/"; //use

  • c# FTP上传文件实例代码(简易版)

    实例如下: /// <summary> /// 上传ftp服务 /// </summary> /// <param name="path">文件地址</param> /// <returns></returns> public string Upload(string path) { var client = new WebClient(); client.Credentials = new NetworkCred

  • ftp服务器搭建部署与C#实现ftp文件的上传的示例

    目录 一.简介 二.搭建FTP服务器步骤(Window sserver 2016为例) 三.登录测试 四.C#上传文件到FTP服务器 一.简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文本协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在ftp的使用当中,用户经常遇到两个概念:“下载”(Downloa

  • FTP 服务器的部署和维护心得

    而笔者每次解决用户的一个需求之后,总会有一种成就感.这不前不久笔者刚文成一个FTP服务器的搭建.不过这个案例有点特殊,因为其FTP服务器采用的操作系统是Linux.为此感悟就更多了. 心得一:为用户分配组 FTP服务器常用来放置一些工作文件.为此网络管理员在部署FTP服务器的时候,必须要注意其权限的管理.也就是说,要做到用户只能够下载自己有权利查看的工作文件;只能够往指定的目录中上传文件等等.而企业中员工很多.如果为每个员工分开来设置权限,那么工作两会很大.为此在FTP服务器管理中,最好也跟操作

  • windows Server 2008R2 FTP服务器搭建图文教程

    windows Server 2008R2 FTP服务器搭建 一.安装ftp服务 1.打开服务器管理器,如图: 2.右键点击角色,如图: 3.点击添加角色,会出现添加角色向导对话框,如图: 4.点击下一步,选择要添加的"web服务器(IIS)" 5.点击下一步,如图: 6.点击下一步,勾选FTP服务器,如图: 7.点击下一步,出现确认安装选择对话框,如图: 8.点击安装即可 二.创建FTP用户 1.找到服务器管理器--配置--本地用户和组,如图: 2.找到本地用户和组--用户,如图:

  • win2003下FTP服务器搭建教程

    本文为大家分享了win2003下FTP服务器搭建教程,供大家参考,具体内容如下 搭建FTP服务器 首先打开windows2003的控制面板,管理工具--添加删除windows程序. 或运行  appwiz.cpl即可 进入添加删除windows程序界面,找到删除windows组件 在windows组件里面,找到[应用程序服务器] 应用程序服务器里面,点击详情.进入找到IIS信息管理器 依次点击[IIS信息管理器]详情,里面有个 FTP服务,打钩 然后返回,点击下一步,接着系统就开始安装ftp服务

  • Windows Server 2019下FTP服务器搭建方法图文教程

    Windows Server 2019下搭建FTP服务器,供大家参考,具体内容如下 在服务器管理器中选择“添加角色和功能” 连续点击下一步,跳过开始之前和安装类型界面. 在服务器选择界面中,选择从服务器池中选择服务器,默认选中一台服务器. 选中web服务复选框. 点击下一步 选中FTP服务器复选框 点击安装 安装完毕后,可以在Windows管理工具中找到并使用. 搜索iis,找到Internet Information Services(IIS)管理器 正式搭建FTP服务 选择我的电脑-右键-添

  • win2019 ftp服务器搭建图文教程

    本文为大家分享了win2019 ftp服务器搭建详细图文教程,供大家参考,具体内容如下 1.ftp服务器安装 1.1.左下角开始--打开服务器管理器 1.2.添加角色和功能 1.3.开始之前-点击下一步 1.4.安装类型-默认点击下一步 1.5.服务器选择-默认点击下一步 1.6.服务器角色-点击勾选Web服务器(IIS)-点击下一步 1.7.功能-默认点击下一步 1.8.web服务器角色(IIS)-默认点击下一步 1.9.角色服务-勾选FTP服务器,点击下一步 1.10.确认页面-点击安装,等

  • Windows 7下FTP服务器搭建教程

    本文为大家分享了Windows 7下FTP服务器搭建的具体步骤,供大家参考,具体内容如下 系统:Windows 7 1. 首先开启ftp功能:控制面板->程序->程序和功能->打开或关闭Windows功能,将FTP功能勾选 2. 添加ftp站点: 2.1 控制面板->系统和安全->管理工具->双击Internet信息服务(IIS)管理器 2.2 选择网站,右键,选择添加FTP站点 2.3 输入站点名称和工作路径,点击下一步 2.4 ip地址输入本机地址,端口默认为21,

  • windows10 家庭版下FTP服务器搭建教程

    本文为大家分享了windows10 家庭版下FTP服务器搭建教程,供大家参考,具体内容如下 #如果已经搭建有了FTP服务器,因为到不同的地方IP地址发生了改变直接翻到最后 1.在电脑开始处搜索控制面板并打开 2.打开控制面板后按下图操作 3 在打开的界面把下面图里红色的方框里的选项勾上,然后点击确定 4 接着在电脑的开始处搜索IIS然后打开 5 点击网站,选择添加FTP站点,然后输入ftp站点的名称,并选择共享的文件路径,可以是某个文件夹,也可以是整个磁盘 6 这里需要填写IP地址 参考第7步

  • win10下FTP服务器搭建图文教程

    本文为大家分享了win10下FTP服务器搭建图文教程,供大家参考,具体内容如下 基础步骤: (1)按[Win + R]快捷键打开运行对话框,输入“optionalfeatures”后,按回车键,如下图所示: (2)在打开的[Windows功能]窗口中,确认下图框选的“Internet Information Services”即Internet信息服务的3个子功能都已经打勾“√”,如果没有勾选,就勾选上,然后点击[确定]按钮安装这些功能,图示如下: (3)在系统安装配置完成后,按[Win + S

  • Java实现FTP文件的上传和下载功能的实例代码

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至自己

随机推荐