Exemple #1
0
        /// <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();
                }
            }
        }
Exemple #2
0
 public static string GetConfigPath()
 {
     return(PathHelper.MergePathName(PathHelper.MapPath, "Config"));
 }