
C#实现不同FTP文件的复制开发实例
- 大小:3.76KB
- 分类:C#源码
- 环境:c#
- 更新:2025-07-21
热门排行
简介
使用C#实现将FTPA服务器上指定文件复制到FTPB服务器上。
核心代码
public ActionResult CopyFile() { try { int progress = 0; MESBomBLL bomBll = new MESBomBLL(); DataTable sourceTable = bomBll.GetEBOMDrawInfo(); if (sourceTable != null && sourceTable.Rows.Count > 0) { FtpFileUtil fileUtil = new FtpFileUtil(); int totalCount = sourceTable.Rows.Count; for (int i = 0; i < totalCount; i ) { string filePath = sourceTable.Rows[i]["FILEPATH"].ToString(); string logMessage = sourceTable.Rows[i]["ITEM_CODE"].ToString() "-----" sourceTable.Rows[i]["FILEPATH"].ToString(); string sourceFileName = "/" filePath.Replace("\\", "/"); string targetFileName = "/CAPP/" filePath.Replace("\\", "/"); TB_EBOM_DRAWINFO_S eBOMDrawInfo = new TB_EBOM_DRAWINFO_S(); //复制文件 bool copyFlg = fileUtil.MoveFileOnDiffFtp("ftp://172.XXX.XXX.XXX" , sourceFileName , "XXXXXXXX" , "XXXXXXXX , "ftp://172.XXX.XXX.XXX" , targetFileName , "XXXXXXXX" , "XXXXXXXX"); if (copyFlg) { //设置插入数据信息 eBOMDrawInfo.MDRAW = sourceTable.Rows[i]["DATASETCODE"].ToString(); eBOMDrawInfo.MDESC = sourceTable.Rows[i]["DATASETNAME"].ToString(); eBOMDrawInfo.DRAWVERSION = sourceTable.Rows[i]["DATASETVERSION"].ToString(); eBOMDrawInfo.MTYPE = sourceTable.Rows[i]["DATASETCLASS"].ToString(); eBOMDrawInfo.MFMT = "2D"; eBOMDrawInfo.MFILEURL = filePath; eBOMDrawInfo.ACNC = "INT" DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); eBOMDrawInfo.ADATE = sourceTable.Rows[i]["RELEASEDATE"].ToString(); eBOMDrawInfo.SCNC = ""; eBOMDrawInfo.SDATE =""; eBOMDrawInfo.ITEMVERSION = sourceTable.Rows[i]["ITEM_VERSION"].ToString(); eBOMDrawInfo.FILEPATH = "/home/ftp" targetFileName; eBOMDrawInfo.MITEM = sourceTable.Rows[i]["ITEM_CODE"].ToString(); eBOMDrawInfo.PATHVIEW = targetFileName.Substring(1, targetFileName.Length - 1); eBOMDrawInfo.FILETYPE = sourceTable.Rows[i]["FILEEXTENT"].ToString(); eBOMDrawInfo.ACCEPT_DATE = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); //插入数据 bomBll.Add(eBOMDrawInfo, m => m.SCNC); LogHelper.WriteLogInfo(logMessage "-----文件复制成功"); } else { LogHelper.WriteLogInfo(logMessage "-----文件复制失败"); } } } return OperateContext.Current.RedirectAjax(1, "文件复制成功", null, ""); } catch (Exception ex) { LogHelper.WriteLogInfo(ex.ToString()); return OperateContext.Current.RedirectAjax(0, "文件复制失败" ex.ToString(), null, ""); } }