最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)FTP上傳文件的方法

 更新時間:2022年04月14日 12:51:16   作者:農(nóng)碼一生  
這篇文章介紹了C#實現(xiàn)FTP上傳文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.通過用FTP進行上傳文件,首先要實現(xiàn)建立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文件的信息,去實現(xiàn)建立FTP連接。這里還需要清楚的知道你上傳文件的路徑(Path)和文件名稱(FileName)。根據(jù)這些信息主方法去調用寫著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服務上面已經(jīng)存在同名文件!");
                }
                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#實現(xiàn)FTP上傳文件的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#代碼實現(xiàn)撲克牌排序的幾種方式

    C#代碼實現(xiàn)撲克牌排序的幾種方式

    今天小編就為大家分享一篇關于C#代碼實現(xiàn)撲克牌排序,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#微信公眾號開發(fā)之消息處理

    C#微信公眾號開發(fā)之消息處理

    這篇文章介紹了C#微信公眾號開發(fā)之消息處理,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C# BinaryReader實現(xiàn)讀取二進制文件

    C# BinaryReader實現(xiàn)讀取二進制文件

    在 C# 以二進制形式讀取數(shù)據(jù)時使用的是 BinaryReader 類。本文介紹了C# BinaryReader實現(xiàn)讀取二進制文件,感興趣的可以了解一下
    2021-06-06
  • Unity技術手冊之Button按鈕使用實例詳解

    Unity技術手冊之Button按鈕使用實例詳解

    這篇文章主要為大家介紹了Unity技術手冊之Button按鈕使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • C#生成帶二維碼的專屬微信公眾號推廣海報實例代碼

    C#生成帶二維碼的專屬微信公眾號推廣海報實例代碼

    這篇文章主要給大家介紹了關于利用C#如何生成帶二維碼的專屬微信公眾號推廣海報的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們一起來看看吧
    2018-12-12
  • C#開啟線程的四種方式示例詳解

    C#開啟線程的四種方式示例詳解

    今天小編就為大家分享一篇關于C#開啟線程的四種方式示例詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 如何在datagridview中添加button按鈕

    如何在datagridview中添加button按鈕

    這篇文章主要介紹了如何在datagridview中添加button按鈕問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • C#利用接口實現(xiàn)多語種選擇功能

    C#利用接口實現(xiàn)多語種選擇功能

    這篇文章主要為大家詳細介紹了如何C#利用接口實現(xiàn)多語種選擇功能,即多語言切換的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-02-02
  • C#實現(xiàn)對用戶輸入數(shù)據(jù)進行校驗的類實例

    C#實現(xiàn)對用戶輸入數(shù)據(jù)進行校驗的類實例

    這篇文章主要介紹了C#實現(xiàn)對用戶輸入數(shù)據(jù)進行校驗的類,實例分析了C#針對各種用戶輸入數(shù)據(jù)的常用校驗技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • 一起詳細聊聊C#中的Visitor模式

    一起詳細聊聊C#中的Visitor模式

    Visitor模式表示一個作用于某對象結構中的各元素的操作,下面這篇文章主要給大家介紹了關于C#中Visitor模式的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05

最新評論

大足县| 舟山市| 德安县| 济南市| 沅陵县| 兰西县| 兴文县| 海盐县| 赤水市| 稷山县| 阳山县| 乌鲁木齐县| 德格县| 玉环县| 沙坪坝区| 高安市| 娱乐| 乌拉特前旗| 秦安县| 台州市| 昌宁县| 景谷| 天镇县| 晋中市| 夹江县| 赫章县| 安泽县| 达日县| 平谷区| 方正县| 康乐县| 玛曲县| 射阳县| 临沭县| 商南县| 波密县| 英德市| 杂多县| 宁波市| 子洲县| 紫金县|