/// <summary> /// 上传文件 /// </summary> /// <param name="filestream">文件流</param> /// <param name="filename">文件名</param> /// <param name="ftpPath">文件路径</param> /// <param name="ftpUser">FTP服务器用户名</param> /// <param name="ftpPassword">FTP服务器用户密码</param> public static void UpLoadFile(byte[] filestream, string filename, string ftpPath, string ftpUser, string ftpPassword) { if (string.IsNullOrEmpty(filename)) { throw new ArgumentNullException("filename is empty"); } if (ftpUser == null) { ftpUser = ""; } if (ftpPassword == null) { ftpPassword = ""; } //if (!File.Exists(localFile)) //{ // //MyLog.ShowMessage("文件:“" + localFile + "” 不存在!"); // return; //} FtpWebRequest ftpWebRequest = null; MemoryStream localFileStream = null; Stream requestStream = null; try { ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(PathHelper.MergeUrl(ftpPath, filename)); ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword); ftpWebRequest.UseBinary = true; ftpWebRequest.KeepAlive = false; ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; ftpWebRequest.ContentLength = filestream.Length; int buffLength = 4096; byte[] buff = new byte[buffLength]; int contentLen; //localFileStream = new FileInfo(localFile).OpenRead(); localFileStream = new MemoryStream(filestream); requestStream = ftpWebRequest.GetRequestStream(); contentLen = localFileStream.Read(buff, 0, buffLength); while (contentLen != 0) { requestStream.Write(buff, 0, contentLen); contentLen = localFileStream.Read(buff, 0, buffLength); } } catch (Exception ex) { Logger.LogInfo($"ftp upload failed :{ex}"); throw ex; //MyLog.ShowMessage(ex.Message, "FileUpLoad0001"); } finally { if (requestStream != null) { requestStream.Close(); } if (localFileStream != null) { localFileStream.Close(); } } }
public static string GetConfigPath() { return(PathHelper.MergePathName(PathHelper.MapPath, "Config")); }