我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ftp服务器搭建部署与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文件上传内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

ftp服务器搭建部署与C#实现ftp文件上传的方法是什么

本文小编为大家详细介绍“ftp服务器搭建部署与C#实现ftp文件上传的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“ftp服务器搭建部署与C#实现ftp文件上传的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-07-02

如何实现备份文件并上传至FTP服务器的bat

这篇文章主要介绍了如何实现备份文件并上传至FTP服务器的bat,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定时备份文件并FTP上传至备份服务器代码如下:@echo offc
2023-06-08

怎么用BAT脚本实现自动上传文件到ftp服务器的功能

这篇文章主要讲解了“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”吧!代码如下:@E
2023-06-08

批处理bat如何实现下载FTP服务器上指定天数之前的文件

这篇文章主要介绍了批处理bat如何实现下载FTP服务器上指定天数之前的文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例代码:@echo offrem 指定FTP用户名s
2023-06-08

在centos虚拟机搭建服务器测试服务器的性能及上传文件cpu占用率的示例分析

在centos虚拟机搭建服务器测试服务器的性能及上传文件cpu占用率的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、在虚拟机搭建服务器,虚拟机为ce
2023-06-06

如何实现window系统cmd环境下从远程FTP服务器上下载文件的方法

我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢?看看下面的方法,也许对你有帮助:@echo offrem 指定FTP用户名set ftpUser=FTPUSERYGLrem 指定FTP密
2023-05-30

NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

实现多文件拖拽上传的简易Node项目,可以在github上下载,你可以先下载下来:https://github.com/Johnharvy/upLoadFiles/。解开下载下的zip格式包,建议用webstom 运行该项目,通过app.j
2022-06-04

编程热搜

目录