亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#怎么實現FTP上傳文件

發布時間:2022-04-14 15:18:24 來源:億速云 閱讀:767 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“C#怎么實現FTP上傳文件”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C#怎么實現FTP上傳文件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1.通過用FTP進行上傳文件,首先要實現建立FTP連接,一般建立FTP連接,需要知道FTP配置有關的信息。一般要在Bean中建立一個ServiceFileInfo.cs文件進行記錄,一般需要FTP地址、登錄用戶名和登錄密碼。然后通過其他頁面進行訪問讀取。代碼樣式如下:

class ServiceFileInfo
    {
        // service1
        public static string txtFilePath = @"ftp://12.128.128.01/FileName/";
        //userid & password
        public static string txtUID = "username";
        public static string txtPWD = "password";
    }

2.通過主方法讀取Bean文件下面的的ServiceFileInfo.cs文件的信息,去實現建立FTP連接。這里還需要清楚的知道你上傳文件的路徑(Path)和文件名稱(FileName)。根據這些信息主方法去調用寫著Bean中的另外一個ftpOperation.cs 文件(這個.cs文件中主要寫一些關于FTP的操作方法),進行FTP訪問操作。

  • 主方法調用FTP操作代碼

ExecutionResult exeRes = this.ftpOperation.UploadFile(textFilePath, txtUID, txtPWD, Path + "/" + FileName + ".txt");//.txt為文件的后綴名
  •  Bean文件中ftpOperation.cs文件關于FTP操作的方法

public ExecutionResult UploadFile(string vIMSPath, string vUID, string vPassword, string vLocalPath)
        {
            ExecutionResult result = new ExecutionResult();
            result = connectState(vIMSPath, vUID, vPassword, vLocalPath);//調用下面代碼方法
            if (result.Status)
            {
                File.Delete(vLocalPath);
            }
            return result;
        }

connectState()方法

public static ExecutionResult connectState(string vIMSPath, string vUID, string vPassword, string fileName)
        {
            string operater = "";
            bool Flag = false;
            ExecutionResult result;
            result = new ExecutionResult();
            lock (lockObj)
            {
                try
                {
                    operater = "Connet to FTP";
                    FTPOperation ftp = new FTPOperation(new Uri(vIMSPath), vUID, vPassword);
                    operater = "Upload file";
                    Flag = ftp.UploadFile(fileName, Path.GetFileName(fileName), true);
                    if (Flag)
                    {
                        result.Status = true;
                        result.Message = "Send to server OK";
                    }
                }
                catch (Exception ex)
                {
                    result.Status = false;
                    result.Anything = "Mail";
                    result.Message = operater + ":" + ex.Message;
                }
            }
            return result;
        }
  • UploadFile()方法

public bool UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)
        {
            bool result;
            try
            {
                bool flag = !this.IsValidFileChars(RemoteFileName) || !this.IsValidFileChars(Path.GetFileName(LocalFullPath)) || !this.IsValidPathChars(Path.GetDirectoryName(LocalFullPath));
                if (flag)
                {
                    throw new Exception("非法文件名或目錄名!");
                }
                bool flag2 = File.Exists(LocalFullPath);
                if (!flag2)
                {
                    throw new Exception("本地文件不存在!");
                }
                FileStream fileStream = new FileStream(LocalFullPath, FileMode.Open, FileAccess.Read);
                byte[] array = new byte[fileStream.Length];
                fileStream.Read(array, 0, (int)fileStream.Length);
                fileStream.Close();
                result = this.UploadFile(array, RemoteFileName, OverWriteRemoteFile);
            }
            catch (Exception ex)
            {
                this.ErrorMsg = ex.ToString();
                throw ex;
            }
            return result;
        }



public bool UploadFile(byte[] FileBytes, string RemoteFileName)
        {
            bool flag = !this.IsValidFileChars(RemoteFileName);
            if (flag)
            {
                throw new Exception("非法文件名或目錄名!");
            }
            return this.UploadFile(FileBytes, RemoteFileName, false);
        }


public bool UploadFile(byte[] FileBytes, string RemoteFileName, bool OverWriteRemoteFile)
        {
            bool result;
            try
            {
                bool flag = !this.IsValidFileChars(RemoteFileName);
                if (flag)
                {
                    throw new Exception("非法文件名!");
                }
                bool flag2 = !OverWriteRemoteFile && this.FileExist(RemoteFileName);
                if (flag2)
                {
                    throw new Exception("FTP服務上面已經存在同名文件!");
                }
                this.Response = this.Open(new Uri(this.Uri.ToString() + RemoteFileName), "STOR");
                Stream requestStream = this.Request.GetRequestStream();
                MemoryStream memoryStream = new MemoryStream(FileBytes);
                byte[] array = new byte[1024];
                int num = 0;
                for (;;)
                {
                    int num2 = memoryStream.Read(array, 0, array.Length);
                    bool flag3 = num2 == 0;
                    if (flag3)
                    {
                        break;
                    }
                    num += num2;
                    requestStream.Write(array, 0, num2);
                }
                requestStream.Close();
                this.Response = (FtpWebResponse)this.Request.GetResponse();
                memoryStream.Close();
                memoryStream.Dispose();
                FileBytes = null;
                result = true;
            }
            catch (Exception ex)
            {
                this.ErrorMsg = ex.ToString();
                throw ex;
            }
            return result;
        }

讀到這里,這篇“C#怎么實現FTP上傳文件”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ftp
AI

内丘县| 灌云县| 阳谷县| 宁蒗| 山阴县| 屏南县| 奉化市| 九江市| 河北省| 尼木县| 芦山县| 天长市| 巴彦县| 平凉市| 江安县| 大厂| 垦利县| 阿坝县| 酒泉市| 克什克腾旗| 崇州市| 迭部县| 台安县| 夏津县| 封丘县| 禹城市| 民县| 宁波市| 杭锦旗| 正镶白旗| 盘锦市| 图们市| 田东县| 舟山市| 乐亭县| 子洲县| 凤凰县| 齐齐哈尔市| 浑源县| 金昌市| 兴国县|