c#.net从ftp下载文件到本地   
  1.   /*首先从配置文件读取ftp的登录信息*/
  2.  string TempFolderPath = System.Configuration.ConfigurationManager.AppSettings["TempFolderPath"].ToString();
  3.  string FtpUserName = System.Configuration.ConfigurationManager.AppSettings["FtpUserName"].ToString();
  4.  string FtpPassWord = System.Configuration.ConfigurationManager.AppSettings["FtpPassWord"].ToString();
  5.  string LocalFileExistsOperation = System.Configuration.ConfigurationManager.AppSettings["LocalFileExistsOperation"].ToString();
  6.  
  7.  
  8. Uri uri = new Uri(FtpPath);
  9. string FileName = Path.GetFullPath(TempFolderPath) + Path.DirectorySeparatorChar.ToString() +  Path.GetFileName(uri.LocalPath); 
  10.  
  11. //创建一个文件流
  12.             FileStream fs = null;
  13.             Stream responseStream = null;
  14.             try
  15.             {
  16.                 //创建一个与FTP服务器联系的FtpWebRequest对象
  17.                 FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uri);
  18.                 //设置请求的方法是FTP文件下载
  19.                 request.Method = WebRequestMethods.Ftp.DownloadFile;
  20.  
  21.                 //连接登录FTP服务器
  22.                 request.Credentials = new NetworkCredential(FtpUserName, FtpPassWord);
  23.  
  24.                 //获取一个请求响应对象
  25.                 FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  26.                 //获取请求的响应流
  27.                 responseStream = response.GetResponseStream();
  28.  
  29.                 //判断本地文件是否存在,如果存在,则打开和重写本地文件
  30.  
  31.                 if (File.Exists(FileName))               
  32.  
  33.                 {
  34.                       if (LocalFileExistsOperation == "write")
  35.  
  36.                       { 
  37.                               fs = File.Open(FileName, FileMode.Open, FileAccess.ReadWrite);
  38.  
  39.                       } 
  40.                 }
  41.  
  42.                 //判断本地文件是否存在,如果不存在,则创建本地文件
  43.                 else             
  44.  
  45.                 {
  46.                         fs = File.Create(FileName);
  47.                 }
  48.  
  49.                 if (fs != null)
  50.                 {
  51.  
  52.                     int buffer_count = ;
  53.                     byte[] buffer = new byte[buffer_count];
  54.                     int size = ;
  55.                     while ((size = responseStream.Read(buffer, , buffer_count)) > )
  56.                     {
  57.                         fs.Write(buffer, , size);
  58.  
  59.                     }
  60.                     fs.Flush();
  61.                     fs.Close();
  62.                     responseStream.Close();
  63.                 }
  64.             }
  65.             finally
  66.             {
  67.                 if (fs != null)
  68.                     fs.Close();
  69.                 if (responseStream != null)
  70.                     responseStream.Close();
  71.             }
  72.  
  73.  
 
 如果遇到服务器端下载路径包含汉字的话,就在配置文件web.config中的<system.web>节点下添加:
  1.   <globalization   requestEncoding="GB2312"   responseEncoding="GB2312"   uiCulture="zh-CN"     culture="zh-CN"   fileEncoding="GB2312"   />
 
就可以解决了。

c#.net从ftp下载文件到本地的更多相关文章

  1. python从FTP下载文件

    #!/usr/bin/python # -*- coding: utf-8 -*- """ FTP常用操作 """ from ftplib ...

  2. 使用xshell从远程服务器下载文件到本地

    XSHELL工具上传文件到Linux以及下载文件到本地(Windows) Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz.首先你的L ...

  3. 远程FTP下载文件

    现在存在以下环境: 远程服务器:192.168.1.107 用户名:dt 密码:dt123 需要从该服务器上下载文件到本地 1.登录(进入到那个目录登录的 ,文件就会被下载到该文件) ftp 192. ...

  4. java实现FTP下载文件

    ftp上传下载文件,是遵照ftp协议上传下载文件的,本例仅以下载文件为例. 重要的方法解释: 1.FTP功能相关依赖路径:org.apache.commons.net.ftp.*: 2.ftp默认端口 ...

  5. .Net 连接FTP下载文件报错:System.InvalidOperationException: The requested FTP command is not supported when using HTTP proxy

    系统环境: Windows + .Net Framework 4.0   问题描述: C#连接FTP下载文件时,在部分电脑上有异常报错,在一部分电脑上是正常的:异常报错的信息:System.Inval ...

  6. Java远程下载文件到本地(http协议和ssh2协议)

    Java中java.io包为我们提供了输入流和输出流,对文件的读写基本上都依赖于这些封装好的关于流的类中来实现.前段时间遇到了以下两种需求: 1.与某系统对接,每天获取最新的图片并显示在前端页面.该系 ...

  7. PHP实现远程下载文件到本地

    PHP实现远程下载文件到本地 投稿:hebedich 字体:[增加 减小] 类型:转载   经常写采集器发布接口需要使用到远程附件的功能,所以自己写了一个PHP远程下载文件到本地的函数,一般情况下已经 ...

  8. PHP CURL实现远程下载文件到本地

    <?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($ ...

  9. C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令

    如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...

随机推荐

  1. sql server 子查询 和exists使用

    概述 子查询的概念: 当一个查询是另一个查询的条件时,称之为子查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 外面的 ...

  2. 使用 Java 创建聊天客户端-2

    1.项目截图 java聊天核心代码: MyJavaChatClient ================================================================ ...

  3. spring-AMQP-RabbitMQ

    1.spring整合rabbitMQ配置文件   rabbitmq-context.xml <beans xmlns="http://www.springframework.org/s ...

  4. 窗口看门狗 WWDG

    一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 /* Check if the system has resumed from WWDG reset ,检 ...

  5. 爬虫(七):爬取猫眼电影top100

    一:分析网站 目标站和目标数据目标地址:http://maoyan.com/board/4?offset=20目标数据:目标地址页面的电影列表,包括电影名,电影图片,主演,上映日期以及评分. 二:上代 ...

  6. 微信小程序环境下将文件上传到 OSS

    步骤 1: 配置 Bucket 跨域 客户端进行表单直传到 OSS 时,会从浏览器向 OSS 发送带有 Origin 的请求消息.OSS 对带有 Origin 头的请求消息会进行跨域规则(CORS)的 ...

  7. ROS常用工具

    先将这个package放到工作空间的 src 目录中, 链接:点击打开链接 密码:u98p 然后在工作空间中加入依赖, rosdep install --from-paths src --ignore ...

  8. 爬虫之获取猫眼电影10W评论

    第一步 打开一个电影的评论界面: 哪吒之魔童降世:https://maoyan.com/films/1211270 我们发现这里只显示10条评论,而我们需要爬取10w条数据,所以不能从此页面进行抓包, ...

  9. ZR#957

    ZR#957 解法: 首先 $ T $ 必须得要是 $ S $ 的子序列,不然不存在好的下标序列,因此一定无解. 考虑判断一个串 $ T $ 是不是 $ S $ 子序列的贪心做法:每次从没有匹配的位置 ...

  10. Tkinter 之Frame标签

    一.参数说明 语法 作用 width 设置 Frame 的宽度默认值是 0 height 设置 Frame 的高度默认值是 0 background(bg) 设置 Frame 组件的背景颜色 bord ...