您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“ftp服務器搭建部署與C#實現ftp文件上傳的方法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“ftp服務器搭建部署與C#實現ftp文件上傳的方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
FTP是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文本協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在ftp的使用當中,用戶經常遇到兩個概念:“下載”(Download)和“上傳”(upload)。“下載”文件就是從遠程主機拷貝文件至自己的計算機上;“上傳”文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
安裝FTP服務器及部署
添加FTP站點
IP地址填本機地址(不填則是本機全部IP),端口默認21,SSL是一種數字加密證書,可申請,在此沒有可選擇無。
添加ftp上傳下載專用用戶(也可以選擇不添加,使用管理員用戶也OK)
到此ftp服務器安裝和搭建部署,就完成了。
瀏覽器中輸入命令 ftp://IP:端口,彈窗提示輸入剛剛新建的用戶名密碼即可。
用戶名和密碼輸入正確的話就會出現公開的路徑。
/// <summary> /// FTP的服務器地址,格式為ftp://192.168.1.234:8021/。 /// </summary> public string FTPCONSTR { get; set; } /// <summary> /// //FTP服務器的用戶名 /// </summary> private string FTPUSERID { get; set; } /// <summary> /// //FTP服務器的密碼 /// </summary> private string FTPPASSWORD { get; set; } private string ftpIP { get; set; } private string ftpPort { get; set; }
public FTPHelper(string ip = "IP", string username = "登錄用戶名", string password = "用戶密碼", string port = "端口") { FTPCONSTR = string.Format("{0}://{1}:{2}/", "ftp", ip, port); FTPUSERID = username; FTPPASSWORD = password; }
/// <summary> /// 上傳文件到遠程ftp /// </summary> /// <param name="path">本地的文件目錄</param> /// <param name="name">文件名稱</param> /// <returns></returns> public bool UploadFile(string path, string name) { FileInfo f = new FileInfo(path); path = FTPCONSTR + name;//這個路徑是我要傳到ftp目錄下的這個目錄下 FtpWebRequest reqFtp = (FtpWebRequest)FtpWebRequest.Create(new Uri(path)); reqFtp.Method = WebRequestMethods.Ftp.UploadFile; reqFtp.UsePassive = false;//只需要添加這一句話 reqFtp.UseBinary = true; reqFtp.Credentials = new NetworkCredential(FTPUSERID, FTPPASSWORD); reqFtp.KeepAlive = false; reqFtp.Method = WebRequestMethods.Ftp.UploadFile; reqFtp.ContentLength = f.Length; int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen; FileStream fs = f.OpenRead(); try { Stream strm = reqFtp.GetRequestStream(); contentLen = fs.Read(buff, 0, buffLength); while (contentLen != 0) { strm.Write(buff, 0, contentLen); contentLen = fs.Read(buff, 0, buffLength); } strm.Close(); fs.Close(); return true; } catch (Exception ex) { return false; } }
調用
string txtFilePath=""; try { OpenFileDialog openFileDialogTemp = new OpenFileDialog(); openFileDialogTemp.Title = "選擇要上傳的文件"; DialogResult dr = openFileDialogTemp.ShowDialog(); if (!File.Exists(openFileDialogTemp.FileName)) { GLOBALS.msgbox("內容為空,請選擇文件"); return; } if (dr == DialogResult.OK) { txtFilePath= openFileDialogTemp.FileName; string filePath = this.txtFilePath.Text; } } catch (Exception ex) { } string id = DateTime.Now.ToString("yyyyMMddHHmmss"); string isPath = DateTime.Now.ToString("yyyy-MM-dd"); string filePath = txtFilePath; string uploadUrl = isPath + "\\" + id + ".jpg"; FTPHelper FTPHelper = new FTPHelper(); bool uploadresult = FTPHelper.UploadFile(filePath, uploadUrl);
讀到這里,這篇“ftp服務器搭建部署與C#實現ftp文件上傳的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。