[TestMethod]//功能强 public void MyFtpTest1() { var ftp = new FTPConnection(); ftp.ServerAddress = "115.159.186.113"; ftp.ServerPort = 21; ftp.UserName = "******"; ftp.Password = "******"; ftp.CommandEncoding = Encoding.GetEncoding("GBK");//设置编码 //连接 ftp.Connect(); ftp.ConnectMode = FTPConnectMode.PASV; ftp.TransferType = FTPTransferType.BINARY; string[] files = ftp.GetFiles(); FTPFile[] fileDetails = ftp.GetFileInfos(); ////当前目录 string directory = ftp.WorkingDirectory; ////切换目录 进入指定的目录 bool change = ftp.ChangeWorkingDirectory("/tools/测试证书pfx/"); files = ftp.GetFiles(); fileDetails = ftp.GetFileInfos(); ////切换到上级目录 //bool b = ftp.ChangeWorkingDirectoryUp(); ////上传文件 //ftp.UploadFile(localFilePath, remoteFileName); ////上传文件 已存是否覆盖 //ftp.UploadFile(localFilePath, remoteFileName, true); ////下载文件 //ftp.DownloadFile("b2bic-副本.rar", "/tools/b2bic-副本.rar"); //将内存字节数据上传到远程服务器 //ftp.UploadByteArray(bytes, remotFileName); //下载远程文件到本地内存 //byte[] bytes = ftp.DownloadByteArray(remoteFileName); //删除远程文件 //bool dFlag = ftp.DeleteFile(remoteFileName); //内存流上传到远程服务器 //ftp.UploadStream(stream, remoteFileName); //关闭 ftp.Close(); }
protected void btn_filtros_Click(object sender, EventArgs e) { String _Div = ""; DataSet _Salas = fs._Get_Visitas_por_sala(cbo_auditor.SelectedValue, txt_fecha.Text); if (_Salas != null) { if (_Salas.Tables[0].Rows.Count > 0) { int _Total_Salas = 0; FTPConnection _Ftp = new FTPConnection(); _Ftp.UserName = "******"; _Ftp.Password = "******"; _Ftp.ServerAddress = "200.29.139.242"; _Ftp.ServerPort = 21; _Ftp.ServerDirectory = "BBDD_SUPI/FOTOS_SALA/" + txt_fecha.Text + "/"; _Ftp.ConnectMode = FTPConnectMode.PASV; _Ftp.Timeout = 5000; _Ftp.TransferType = FTPTransferType.BINARY; _Ftp.Connect(); _Ftp.Timeout = 10000; foreach (DataRow dataRow in _Salas.Tables[0].Rows) { Boolean _Agrega = true; int _Eentra = 0; String _Llave = dataRow[0].ToString() + "_" + dataRow[1].ToString(); //String _Nombre_Auditor = dataRow[3].ToString(); ; String _Fecha = dataRow[1].ToString();; foreach (String _File in _Ftp.GetFiles(_Llave + "/*.jpg")) { String _Tamano = _Ftp.GetSize(_File).ToString(); if (_Tamano != "0") { _Eentra = 1; if (_Agrega) { _Total_Salas++; _Agrega = false; _Div = _Div + "<div class=\"titulo\">" + dataRow[0].ToString() + " " + dataRow[2].ToString() + "</div> "; _Div = _Div + "<div class=\"glihtbox\">"; _Div = _Div + "<ul class=\"list-unstyled row\" style=\"margin-bottom: 15px; margin-top: 5px;padding-left:0px;\">"; _Div = _Div + "<li style=\"padding-right:10px;\">"; } else { _Div = _Div + "<li style=\"padding-right:10px;\">"; } _Div = _Div + "<a href=\"" + "http://200.29.139.242/BBDD_SUPI/FOTOS_SALA/" + txt_fecha.Text + "/" + _File + "\" data-sub-html=\"<h4>" + dataRow[1].ToString() + " " + dataRow[0].ToString() + "</h4>\">"; _Div = _Div + "<img class=\"img-responsive\" src=\"" + "http://200.29.139.242/BBDD_SUPI/FOTOS_SALA/" + txt_fecha.Text + "/" + _File + "\" width=100 height=100 />"; _Div = _Div + "</a>"; _Div = _Div + "</li>"; } } if (_Eentra == 1) { _Div = _Div + "</ul></div>"; _Eentra = 0; } //_Div = _Div + "</ul>"; } } } _Div = _Div + "</ul></div>"; galleryHTML.InnerHtml = _Div; }
/// <summary> /// 返回指定目录的文件 /// </summary> /// <param name="dirName"></param> /// <param name="connection"></param> /// <returns></returns> private string[] GetFiles(string dirName, FTPConnection connection) { return(connection.GetFiles(dirName)); }
/// <summary> /// 返回当前工作目录的文件 /// </summary> /// <param name="connection"></param> /// <returns></returns> private string[] GetFiles(FTPConnection connection) { return(connection.GetFiles()); }
// 获取FTP递交信息 public Boolean QueryFTP() { log.WriteInfoLog("查询FTP目录信息..."); // 输出递交包,到本地集成环境处理,需要使用ftp连接 FTPConnection ftp = MAConf.instance.Configs[ProductId].ftp; FtpConf fc = MAConf.instance.Configs[ProductId].fc; string s; // 强制重新连接,防止时间长了就断掉了 if (ftp.IsConnected == false) { try { ftp.Connect(); } catch (Exception e) { log.WriteErrorLog("连接FTP服务器失败,错误信息:" + e.Message); return(false); } } // 取递交版本信息,确认要输出哪个版本的压缩包,确保只刷出最大的版本 // 这个地方,应该是如果存在集成的文件夹,就刷出集成的文件夹, // 对于V1,是全部都需要集成,对于Vn(n>1),只集成变动的部分就可以了 if (ftp.DirectoryExists(RemoteDir) == false) { System.Windows.Forms.MessageBox.Show("FTP路径" + RemoteDir + "不存在!"); return(false); } ftp.ChangeWorkingDirectory(fc.ServerDir); // 不使用 true 列举不出目录,只显示文件,很奇怪 //string[] files = ftp.GetFiles(fc.ServerDir + ap.CommitPath, true); string[] files = ftp.GetFiles(RemoteDir); log.WriteInfoLog("查询FTP目录信息...完成"); #region 确定修改单基本属性 // 检查是否存在集成*的文件夹 // 获取当前的版本信息,先标定版本信息 SubmitL.Clear(); ScmL.Clear(); ScmSrc.Clear(); foreach (string f in files) //查找子目录 { // 跳过 src-V*.rar 之类的东东 if (f.IndexOf("集成-src-V") >= 0 || f.IndexOf("集成-Src-V") >= 0) { ScmSrc.Add(f); } else if (f.IndexOf(MainNo) < 0) { continue; } else if (f.IndexOf("集成") == 0) { ScmL.Add(f); } else { SubmitL.Add(f); } } string currVerFile = string.Empty;// 20111123054-国金短信-李景杰-20120117-V3.rar if (SubmitL.Count > 0) { SubmitL.Sort(); s = SubmitL[SubmitL.Count - 1].ToString(); currVerFile = s; // 取递交版本号 // 20111207012-委托管理-高虎-20120116-V13.rar --> 20111207012-委托管理-高虎-20120116-V13 -> 13 s = s.Substring(0, s.LastIndexOf('.')); SubmitVer = int.Parse(s.Substring(s.LastIndexOf('V') + 1)); } else { SubmitVer = 0; } // 生成一些上次集成的变量,需要把上次的覆盖到本次来 if (ScmL.Count > 1) // 重复集成 { ScmL.Sort(); s = ScmL[ScmL.Count - 1].ToString(); // 取递交版本号 // 20111207012-委托管理-高虎-20120116-V13.rar --> 20111207012-委托管理-高虎-20120116-V13 -> 13 s = s.Substring(0, s.LastIndexOf('.')); ScmVer = int.Parse(s.Substring(s.LastIndexOf('V') + 1)); ScmedVer = ScmVer; // 如果存在对应的src文件夹,一并删除掉 if (ScmVer == SubmitVer) { ScmL.RemoveAt(ScmL.Count - 1); if (ScmSrc.Count > 1) { ScmSrc.Sort(); if (ScmSrc.IndexOf("集成-src-V" + ScmVer + ".rar") >= 0 || ScmSrc.IndexOf("集成-Src-V" + ScmVer + ".rar") >= 0) { ScmSrc.RemoveAt(ScmSrc.Count - 1); } } } } string dir = Path.GetFileNameWithoutExtension(currVerFile); //AmendDir = LocalDir + "\\" + dir; SCMAmendDir = Path.Combine(LocalDir, "集成-" + dir); ScmVer = SubmitVer; LocalFile = Path.Combine(LocalDir, currVerFile); RemoteFile = LocalFile.Replace(LocalDir, RemoteDir); SCMLocalFile = Path.Combine(SCMAmendDir, "集成-" + currVerFile); SCMRemoteFile = SCMLocalFile.Replace(SCMAmendDir, RemoteDir); SrcRar = Path.Combine(SCMAmendDir, "src-V" + ScmVer.ToString() + ".rar"); SCMSrcRar = Path.Combine(SCMAmendDir, "集成-src-V" + ScmVer.ToString() + ".rar"); SCMRemoteSrcRar = SCMSrcRar.Replace(SCMAmendDir, RemoteDir); if (ScmL.Count > 0) { ScmL.Sort(); s = ScmL[ScmL.Count - 1].ToString(); dir = Path.GetFileNameWithoutExtension(s); // 上次数据 SCMLastAmendDir = Path.Combine(LocalDir, dir); SCMLastLocalFile = Path.Combine(SCMLastAmendDir, s); ScmLastRemoteFile = Path.Combine(RemoteDir, s); // 取递交版本号 // 20111207012-委托管理-高虎-20120116-V13.rar --> 20111207012-委托管理-高虎-20120116-V13 -> 13 s = s.Substring(0, s.LastIndexOf('.')); SCMLastVer = int.Parse(s.Substring(s.LastIndexOf('V') + 1)); SCMLastLocalSrcRar = Path.Combine(SCMLastAmendDir, "集成-src-V" + SCMLastVer.ToString() + ".rar"); ScmLastRemoteSrcRar = Path.Combine(RemoteDir, "集成-src-V" + SCMLastVer.ToString() + ".rar"); } else { SCMLastVer = 0; } if (ScmedVer == 0) { ScmedVer = SCMLastVer; } if (ScmSrc.Count > 0) { ScmSrc.Sort(); s = ScmSrc[ScmSrc.Count - 1].ToString(); SCMLastLocalSrcRar = Path.Combine(SCMLastAmendDir, s); ScmLastRemoteSrcRar = Path.Combine(RemoteDir, s); } // 决定是新集成还是修复集成还是重新集成 if (ScmVer == 0 || (ScmVer == 1 && SubmitVer == 1)) // 第一次集成 { scmtype = ScmType.NewScm; } else if (SCMLastVer <= SubmitVer) // 重新集成也当成修复集成 { scmtype = ScmType.BugScm; // 修复集成 } #endregion return(true); }
//Muestra fotos en modo edicion... public void _Modo_Edicion(String _Medicion) { btn_eliminafoto.Visible = true; //********** LOGS BUSQUEDA POR MEDICION *********** String _Nombre_Calendario = _F._Get_Nombre_Calendario(cbo_medicion.SelectedValue); String _Id_Estudio = _F._Get_Id_Estudio(cbo_medicion.SelectedValue); try { String _Id_Pagina = _U._Get_Id_Pagina(Request.Url.Segments[Request.Url.Segments.Length - 1]); _G._Set_Insert_Logs(Session["Id_Usuario"].ToString(), DateTime.Now.ToString("yyyy-MM-dd H:mm:ss"), "BUSQUEDA FOTOS MODO EDICION", _Id_Pagina, _Id_Estudio, ""); } catch (Exception) { } DataSet _Ds_Salas = _F._Get_Listado_Fotos(_Medicion, ""); if (_Ds_Salas != null) { try { _Parametros(); _Ftp.Connect(); } catch (Exception) { ClientScript.RegisterStartupScript(this.GetType(), "Acceso", "swal('Error FTP', 'No se puede conectar con el servidor FTP', 'error');", true); return; } if (_Ds_Salas.Tables[0].Rows.Count > 0) { dgw_fotos.Visible = true; DataTable dt = new DataTable(); dt.Columns.Add("cc", typeof(Boolean)); dt.Columns.Add("Auditor", typeof(string)); dt.Columns.Add("Faculty", typeof(string)); dt.Columns.Add("Fecha", typeof(string)); dt.Columns.Add("Ruta", typeof(string)); dt.Columns.Add("imageurl", typeof(string)); foreach (DataRow dataRow in _Ds_Salas.Tables[0].Rows) { try { foreach (String _File in _Ftp.GetFiles(dataRow[1].ToString() + "/*.jpg")) { String _Tamano = _Ftp.GetSize(_File).ToString(); if (_Tamano != "0") { int B = _File.IndexOf("NO_VALIDA"); if (B > 0) { dt.Rows.Add(true, dataRow[4].ToString(), dataRow[0].ToString(), dataRow[3].ToString(), "http://200.29.139.242/BBDD_SUPI/" + _File, "http://200.29.139.242/BBDD_SUPI/" + _File); } else { dt.Rows.Add(false, dataRow[4].ToString(), dataRow[0].ToString(), dataRow[3].ToString(), "http://200.29.139.242/BBDD_SUPI/" + _File, "http://200.29.139.242/BBDD_SUPI/" + _File); } } } } catch (Exception) { ClientScript.RegisterStartupScript(this.GetType(), "Acceso", "swal('ERROR', 'NO SE PUEDEN MOSTRAR LAS FOTOS', 'error');", true); return; } } galleryHTML.InnerHtml = ""; dgw_fotos.DataSource = dt; dgw_fotos.DataBind(); _Ftp.Close(); } } else { ClientScript.RegisterStartupScript(this.GetType(), "Acceso", "swal('SIN FOTOS', 'NO SE HAN ENCONTRADO FOTOS PARA MEDICION SELECCIONADA', 'error');", true); } }