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

1 篇文章 0 订阅
订阅专栏

目录

 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
    {
        /// <summary>
        /// FTP的服务器地址,格式为ftp://192.168.1.234:8021/。
        /// </summary>
        private string FTPCONSTR { get; set; }
        /// <summary>
        /// //FTP服务器的用户名
        /// </summary>
        private string FTPUSERNAME { get; set; }
        /// <summary>
        /// //FTP服务器的密码
        /// </summary>
        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服务器
        /// <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(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);

C#使用ftp进行文件上传和下载功能(一)
A_nanda的博客
04-18 969
在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和5000之间的随机高位端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。8.接下来FTP站点添加向导将要求填写身份验证和授权信息,勾选身份验证下的匿名和基本两项前的复选框,允许访问项设置为所有用户,勾选读取和写入权限前的复选框,点击完成;
使用 C# 创建一个 FTP 服务器
03-21
使用 C# 创建一个 FTP 服务器,供大家一起共同分享学习。
c#实现FTP服务器
05-27
c#实现FTP服务器, 功能 ①、按标准FTP协议登录FTP服务器,进行身份验证; ②、显示远程目录、文件列表,进行目录切换; ③、目录、文件列表的排序显示(文件名、时间、类型); ④、能上传文件、下载、删除文件; ⑤、支持设置选择二进制、文本格式文件传输(UNIX标准的文本);
C#FTP上传下载(二)
weixin_30527551的博客
04-17 98
这个类几乎包含了对FTP常用的方法,有不对的地方,欢迎批评指正 public class FtpClient { #region 构造函数 /// <summary> /// 创建FTP工具 /// <para> /// 默认不使用SSL,使用二进制传输方式,使用被动模...
C#C#FTP的操作
R_W_zhang的博客
01-12 5648
C#完成与FTP服务器交互的功能代码。包括连接FTP上传文件、下载文件、创建文件夹、删除文件夹、目录列表、获取指定文件大小、对文件的重命名、移动文件、判断路径是否存在等功能。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threadi...
SFTP服务器搭建C#实现SFTP上传文件
liulv_yan的博客
11-05 9141
需先通过NuGet将Renci.SshNet引用到项目中。 using Renci.SshNet; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PrintDBSQL.Framework.Utility { public class SFTP...
C# 自动更新(基于FTP
熊思雨的博客
06-16 6529
在去年,我写了一个 C# 版本的自动更新,这个是根据配置文件 + 网站文件等组成的框架,以实现本地文件的新增、替换和删除,虽然实现了自动更新的功能,但用起来过于复杂,代码量也比较大,改起来困难,后面我就想能不能弄一个 FTP 服务器进行版本的更新。
C#使用ftp进行文件上传和下载功能
最新发布
IT深耕十余载,大道之简
04-19 593
C#中,可以使用System.Net命名空间下的类来实现FTP文件上传和下载功能。
C#实现ftp服务器文件上传下载路径创建
12-23
C#实现ftp上传、下载、创建目录,编译成dll文件C#直接引用,并且已经注册为com组件,vb也可以调用
C#上传指定单个文件FTP
06-23
C#上传指定文件FTP
C# winform 在线上传和浏览FTP服务器图片
05-30
在WINFORM 框架下,实现FTP服务器的图片上传,在线浏览和删除操作。 本代码为本人原创,希望对大家有帮助。
c# FTP上传文件实例代码(简易版)
12-30
实例如下: /// <summary> /// 上传ftp服务 /// </summary> /// <param name=path>文件地址</param> /// <returns></returns> public string Upload(string path) { var client = new WebClient(); client.Credentials = new NetworkCredential(fptuser, ftppwd);//用户名和密码 client.BaseAddress = ftpurl;//
C#开发windows服务实现自动从FTP服务器下载文件
10-27
主要为大家详细介绍了C#开发windows服务实现自动从FTP服务器下载文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
C#开发教程之FTP上传下载功能详解
12-31
最近要实现这样一个功能:FTP服务器的上传和下载,搜集了一些资料,在c播客上看到昵称为”傻丫头和科技”的作者写的一篇文章写得挺好,有的地方个人觉得不是很详细,自己稍作修改后放在这和大家一起学习分享。...
ftp--client--server.zip_FTP服务器_c# ftp服务器
09-23
ftp服务器的搭建 ,服务器和客户端都有的
C# FTP上传和下载文件操作
C/C#、Android driver、STM32、Linux等等。
07-14 5185
   我们使用C# 需要通过FTP访问服务器时,那么上位机就要作为客户端,通过连接FTP服务来上传下载文件。这里用实际代码和简要的文字描述一下。   见代码描述段中的构造函数 FtpOperation(),在初始化类的同时将用户各个参数初始化。    首先,将服务器IP传递过来,这个是第一重要的。其次,将用户ID、密码以及路径信息获取。最后,将其它参数赋初值。 ...
c#保存图片到远程服务器上,C#通过ftp上传文件至远程服务器
weixin_31482387的博客
07-30 1206
【实例简介】文件上传到pdf【实例截图】VS2017开发【核心代码】配置文件using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System....
java 实现把mp4文件上传ftp服务器
07-30
实现将MP4文件上传FTP服务器,可以使用Java中的Apache Commons Net库提供的FTP客户端来实现。 首先,你需要在项目中添加Apache Commons Net库的依赖,然后创建一个FTP客户端的实例。 ```java import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; public class FTPUploader { public static void main(String[] args) { String server = "ftp.example.com"; int port = 21; String user = "username"; String password = "password"; String localFile = "path/to/local/file.mp4"; String remoteFile = "path/to/remote/file.mp4"; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(server, port); ftpClient.login(user, password); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); ftpClient.storeFile(remoteFile, new FileInputStream(localFile)); ftpClient.logout(); } catch (IOException e) { e.printStackTrace(); } finally { if (ftpClient.isConnected()) { try { ftpClient.disconnect(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 在以上代码中,你需要提供FTP服务器的主机名、端口号、用户名和密码。然后,指定本地MP4文件的路径和上传后在FTP服务器上保存文件的路径。 连接并登录到FTP服务器后,设置文件类型为二进制,然后使用`storeFile`方法上传本地文件到指定的远程路径。 最后,退出登录并断开与FTP服务器的连接。 需要注意的是,这只是一个简单的示例,你可能需要添加一些错误处理和异常处理来提高代码的鲁棒性。同时,还可以根据需求进一步封装这个功能以便于复用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

分类专栏

  • SFTP 1篇
  • FTP 1篇
  • mail 1篇
  • Javascript 1篇
  • HTML 2篇
  • C++ 2篇
  • WebService 3篇
  • DateTime
  • 动态调用 1篇
  • PHP 3篇
  • C# 8篇
  • EF 1篇
  • CodeFirst 2篇
  • MySQL 1篇

最新评论

  • SFTP服务器搭建及C#实现SFTP上传文件

    WJMT12138: 上传目标路径如果是D盘呢,怎么上传

  • .net core WebAPI --文件分片上传

    CSDN-Ada助手: 恭喜作者完成第19篇博客!标题看起来非常有趣,我很期待阅读关于".net core WebAPI --文件分片上传"的内容。你的持续创作令人鼓舞,希望你能继续分享你的经验和知识。如果可能的话,我建议你在未来的博客中考虑介绍一些实际案例或者提供更多实用的代码示例,这将使读者更容易理解和应用你的教程。谢谢你的分享,期待你下一篇博客!

  • 【PHP】最详细PHP从入门到精通(一)

    Python天下第一!!: PHP无yajin。adfsdegfxh ①有php开发经验; ②完成1个任务300,2个任务600,3个任务1100; 方法: 聊QQ:3520634045,领任务

  • 【PHP】最详细PHP从入门到精通(一)

    毛毛系鱼: 业务咋联系?

  • 【PHP】最详细PHP从入门到精通(一)

    heephp_mvc: 建议学习heephp框架

大家在看

  • JavaScript ES6 新特性探索:Proxy 解锁编程新境界 1834

最新文章

  • .net core WebAPI --文件分片上传
  • C#动态调用WebService服务(2)
  • SFTP服务器搭建及C#实现SFTP上传文件
2023年1篇
2021年6篇
2020年3篇
2019年1篇
2018年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司长治网站设计推荐舟山百度关键词包年推广多少钱淮安网站制作设计公司张家口网站制作设计推荐萍乡建站公司柳州关键词排名公司延边网络广告推广报价遵义seo排名哪家好烟台网站建设公司永州设计公司网站多少钱抚州至尊标王上海推广网站价格汕头百度网站优化价格唐山网络营销推荐沙井网站建设推荐石岩营销网站黔南网站搜索优化公司平凉建设网站价格随州网站推广系统多少钱百色推广网站报价宜宾优化哪家好长沙网站搭建哪家好凉山网站优化按天扣费多少钱昭通设计公司网站江门外贸网站设计多少钱昌吉网站改版四平关键词按天收费公司陇南关键词按天计费价格哈尔滨营销网站报价邵阳SEO按效果付费多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化