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

一、简介

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

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

安装FTP服务器及部署

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

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

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

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

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

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

添加FTP站点

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

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

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

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

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

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

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

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

三、登录测试

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

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

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

四、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文件上传的方法是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/25117

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云亿速云认证作者
上一篇 2022年9月15日 上午1:45
下一篇 2022年9月15日 上午1:47

相关推荐

  • 怎么使用CSS混合模式让文字智能适配背景颜色

    页面上有一段文本,能否实现这段文本在不同背景色下展示不同的颜色?也就是俗称的智能变色。像是下面这样: 文本在黑色底色上表现为白色,在白色底色上表现为黑色。看似很复杂的一个效果,但是其实在 CSS 中非常好实现,今天就介绍这样一个小技巧,在 CSS 中,利用混合模式 mix-blend-mode: d…

    2022年9月8日
    23400
  • word字体放大如何就显示半个

    解决方法 1、首先我们打开word。 2、可以看到文字这里只能显示一半。 3、点击上方菜单栏中的开始。 4、选择段落右下角的图标。 5、然后进行行距的设置。 6、然后选择最小值,这个要视情况而定。 7、这样就能看到文字都已经显示完全了。 读到这里,这篇“word字体放大如何就显示半个”文章已经介绍完…

    2022年9月18日
    16400
  • easyrecovery怎么恢复视频

    easyrecovery恢复视频的方法 1、选择恢复视频,点击下一步。 2、接着选择你需要恢复的硬盘进行扫描。 3、等待软件扫描完成。 4、经过扫描后可以直观的看到文件数,文件夹数,和可恢复数据数 5、找到你需要恢复的视频,右键恢复就可以了。 关于“easyrecovery怎么恢复视频”这篇文章的内…

    2022年9月26日
    13300
  • jquery中子元素选择器和后代元素选择器有哪些区别

    jquery中子元素选择器和后代元素选择器的区别:1、子元素选择器的语法为“$(“父元素>子元素”)”,后代元素选择器的语法为“$(“父元素 子元素”)”;2、子元素选择器只对直接后代产生影响,而对多层后代不产生作用,而后代元素选择器是对所有指定…

    2022年9月2日
    29300
  • windows会声会影如何导出视频x9

    会声会影导出视频x9的方法 1、首先点击图示位置的“共享”按钮。 2、然后在图示框中选择想要导出的视频格式。 3、在图示位置可以调整具体参数。 4、最后点击“开始”就可以了。 以上就是“windows会声会影如何导出视频x9”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,…

    2022年9月15日
    13800
  • Javascript怎样替换数组中的特定值

    替换数组中的特定值 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。特别需要注意插入值的位置! // arrayObject.splice(index,howmany,item1,…..,itemX)var plants = [‘Saturn’, ‘…

    2022年8月31日
    40500
  • 如何用JAVA语言分析双重检查锁定

    1、双重检查锁定 在程序开发中,有时需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化,此时可以采用双重检查锁定来延迟对象初始化操作。双重检查锁定是设计用来减少并发系统中竞争和同步开销的一种软件设计模式,在普通单例模式的基础上,先判断对象是否已经被初始化,再决定要不要加锁。尽管…

    2022年9月20日
    21200
  • 如何分析Win7蓝屏的解读和应对方案

    近期,深信服接到不少客户咨询关于Win7蓝屏大爆发的问题,大概内容指“Win7服役结束,微软不再更新补丁,电脑集体蓝屏,错误代码为F4,蓝屏与漏洞补丁有关联等等,并呼吁用户不要修复漏洞补丁”。 不过,从深信服收集上来的问题来看,并没有出现企业大规模Win7蓝屏的现象。我们通过追溯,发现比较早出现这一…

    2022年9月6日
    17300
  • windows ddu卸载显卡驱动使用问题怎么解决

    ddu卸载显卡驱动怎么用: 1、首先,我们运行“Display Driver Uninstaller.exe”程序软件。 2、打开后,在右下角可以修改为“简体中文” 3、接着在右上角可以选择设备种类,“显卡”或者“声卡” 4、在下方选择我们的设备供应商。 5、选择完成后点击下方按钮,可以恢复设备的默…

    2022年9月21日
    36600
  • sqlmap _dns注入配置方法是什么

    网上针对sqlmap进行dns注入的相关文章太少,只是简单介绍了下–dns-domain参数,相关的实战文章要么就写的模糊或者一笔带过,搞的云里雾里(主要是菜,关键还没大佬带)。然后自己参考网上的方法自己重新搞了一遍。 需要准备的东西,sqlmap、windows盲注一个、两个域名、一台…

    2022年9月16日
    16300
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部