C#源码

关注公众号 jb51net

关闭
C#实现不同FTP文件的复制开发实例

C#实现不同FTP文件的复制开发实例

热门排行

简介

使用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, "");
            }
        }

大家还下载了