using EnterpriseDT.Net.Ftp;

/// <summary>
/// 下载FTP文件
/// </summary>
/// <param name="ftpInfo">FTP类</param>
/// <returns></returns>
public void DownFtpFiles()
{
#region
while (true)
{
List<string> fileList = new List<string>();
EnterpriseDT.Net.Ftp.FTPClient ftpClient = new EnterpriseDT.Net.Ftp.FTPClient();
try
{
System.Threading.Thread.Sleep();
log.Info("开始登陆FTP服务器");
ftpClient.RemoteHost = ftpIP;
ftpClient.Connect();
ftpClient.Login(ftpUserName, ftpPassword);
ftpClient.TransferType = FTPTransferType.BINARY; //获得所有文件列表
GetFileList(ftpClient, ftpRoot, ref fileList); log.Info("FTP服务器共有" + fileList.Count + "个文件");
//开始下载文件
if (fileList != null && fileList.Count > )
{
string fileName = null;
foreach (string fileUrl in fileList)
{
#region 判断文件是否已经下载过
fileName = fileUrl;
if (fileName.StartsWith("url_") && fileName.ToLower().EndsWith(".dat"))
{
try
{
log.Info("开始下载," + fileUrl);
ftpClient.Get(tempFileDir + "\\" + fileName, fileUrl);
File.Move(tempFileDir + "\\" + fileName, downloadFileDir + "\\" + fileName);
//记录到已下载的列表中
this.AppendDownloaded(fileUrl);
//删除远程文件
ftpClient.Delete(fileUrl); log.Info("下载成功," + fileUrl);
}
catch (Exception exp)
{
log.Info("下载或移动失败," + fileUrl + ",原因是:" + exp.ToString());
}
}
#endregion
}
}
}
catch (Exception exp)
{
log.Info("下载或移动失败,原因是:" + exp.ToString());
}
finally
{
try
{
if (ftpClient.IsConnected)
ftpClient.Quit();
}
catch (Exception ex)
{
log.Info("关闭FTP连接异常,原因是:" + ex.ToString());
}
} //System.Threading.Thread.Sleep(Tools.GetInt32(Tools.GetWebSetting("DOWNLOAD_INTERVAL"), 30) * 1000 * 60);
}
#endregion
}

FTP文件下载的更多相关文章

  1. Gradle之FTP文件下载

    Gradle之FTP文件下载 1.背景 项目上需要使用本地web,所以我们直接将web直接放入assets资源文件夹下.但是随着开发进行web包越来越大:所以我们想着从版本库里面去掉web将其忽略掉, ...

  2. java实现FTP文件下载

    package com.vingsoft.util;/*** @author 作者:dujj* @version 创建时间:2020年1月13日 下午5:53:39*/import java.io.F ...

  3. sftp,ftp文件下载

    一.sftp工具类 package com.ztesoft.iotcmp.util; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsc ...

  4. java/struts/Servlet文件下载与ftp文件上传下载

    1.前端代码 使用超链接到Struts的Action或Servlet <a target="_blank" href="ftpFileAction!download ...

  5. [原创]python之socket-ftp

    今天来讲讲ftp文件下载,感觉挺有趣的,知道吧,就那种看到新文件生成,而自己写的代码也不多,那种成就感! 一.需求: 客户端发送指令给服务端,服务端根据指令找到相应文件,发送给客户端 分析: PS:e ...

  6. FTP服务器中文环境引起润日下载不了附件问题解析

    20160229日某农商行因为FTP下载功能有问题,导致当天所有涉及FTP文件下载的交易都不能正常使用,对于银行来说影响还是比较大.现将当天出问题的原因及处理过程解析如下,忘能给碰到类似问题的同行以供 ...

  7. C# ftp 图片上传多快好省

    前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只 ...

  8. C# 获取文件下载的各种方法

    public class RemoteDownload { public static void DownLoad(string addressUrl,string localName) { //下载 ...

  9. java代码实现ftp服务器的文件上传和下载

    java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools   工具类: ...

随机推荐

  1. python2 python3 字符串 编码格式 处理

    使用python的ctypes调用c语言中的函数,传入字符串,打印输出异常.解决方法记录于此. 参考连接: http://blog.csdn.net/u011546806/article/detail ...

  2. C语言中内存分配问题:

    推荐: C语言中内存分配 Linux size命令和C程序的存储空间布局 本大神感觉,上面的链接的内容,已经很好的说明了: 总结一下: 对于一个可执行文件,在linux下可以使用 size命令列出目标 ...

  3. vi 新建文件后保存文件时遇到的问题:E212: 无法打开并写入文件

    问题描述 使用vi编辑器写好内容后保存并退出时遇到以下问题 解决方案 该问题的原因是用户权限不够,因为普通用户用 vi 不能保存文件,需要使用超级用户才可以. 先转换为超级用户:su 再用vi打开文件 ...

  4. python环境搭建和开发工具的配置【转】

    因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在window下. 一.环境搭建 先在python官网python.org下载安装文件,python2.x ...

  5. (原)多线程sdl_ttf显示文字

    最近在使用sdl做视频显示,因为需要显示文字,所以就找了sdl的拓展库,sdl_ttf来做文字显示. 这里说明一下:sdl_ttf不支持多线程,官方上面有说明,它不是多线程安全的. 所以当我最初使用s ...

  6. 弹出输入框后,将listview内容遮住,解决方案

    转自http://blog.csdn.net/silence_cdsn/article/details/7987063 更改listview的布局属性 之前的布局: <ListView andr ...

  7. 如何去掉jQWidgets中TreeGrid和Grid右下角的链接

    关于如何去掉这个水印,这是官方的说法. 更新了jQWidgets版本,发现在使用过程中发现每次渲染完TreeGrid和Grid后会在表格右下角出现一个www.jqwidgets.com的span标签. ...

  8. MATLAB:保存mat文件

    X_Y_pred_00_0000.mat里存有三个mat文件: 另存:

  9. 关于TensorFlow多种安装方式

    Tensorflow的官网其实给出了很详细的安装教程,细分包括: Pip install: Install TensorFlow on your machine, possibly upgrading ...

  10. (转)GCT之逻辑经验总结(拿来主义)

    GCT逻辑考试,并非考核逻辑专业知识,而是考核考生的日常逻辑思维能力.应该说日常逻辑思维能力是人在成长过程中及在社会活动中形成的,因此,只要运用好这种能力,就能取得逻辑考试的好成绩.因此可以认为:GC ...