91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

陇川县| 宁武县| 伊春市| 石泉县| 东台市| 上思县| 岳西县| 株洲市| 乡宁县| 新安县| 汾西县| 宣恩县| 宝清县| 阳西县| 襄垣县| 东阳市| 彭山县| 沙雅县| 朝阳县| 芦溪县| 六枝特区| 格尔木市| 依安县| 乌兰浩特市| 滁州市| 含山县| 丹东市| 邢台县| 尖扎县| 大荔县| 册亨县| 青州市| 宁化县| 贵南县| 仙游县| 怀柔区| 彭山县| 周宁县| 昌都县| 栖霞市| 横山县|