亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網(wǎng)管 > 互助交流 > 正文

FTP的文件管理

2020-03-24 18:05:42
字體:
供稿:網(wǎng)友
這次給大家?guī)鞦TP的文件管理,對FTP文件進行管理的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

因為網(wǎng)站有下載文件需要和網(wǎng)站分離,使用到了FTP管理文件,這里做一個簡單的整理。

1.安裝FTP

和安裝iis一樣。全部勾選。

設(shè)置站點名稱和路徑。

設(shè)置ip。

身份授權(quán)選擇所有用戶,可以讀寫。

完成之后 IIS就會出現(xiàn):

2.添加FTP用戶

計算機-- 管理-- 本地用戶和組。 添加用戶,描述為FTP。

這里要設(shè)置用戶的密碼方式,去掉“用戶下次登錄時必須更改密碼”的選項。

不然會登錄不成功。報530錯誤。

3.測試登錄

ftp ip 就可以訪問。顯示230 user logged in 表示登錄成功。

4.上傳下載

FtpHelper:

 html' target='_blank'>public static class FtpHelper { //基本設(shè)置 private const string Path = @ ftp://192.168.253.4:21/ //目標路徑 private const string Ftpip = 192.168.253.4 // GetAppConfig( obj //ftp IP地址 private const string Username = stone //GetAppConfig( username //ftp用戶名 private const string Password = 111111 //GetAppConfig( password //ftp密碼 // 2M 可能不夠 private const int bufferSize = 2048; /// summary  /// 獲取自定義配置的值 /// /summary  /// param name= strKey 鍵值 /param  /// returns 鍵值對應(yīng)的值 /returns  public static string GetAppConfig(string strKey) { foreach (string key in ConfigurationManager.AppSettings) { if (key == strKey) { return ConfigurationManager.AppSettings[strKey]; } return null; } //獲取ftp上面的文件和文件夾 public static string[] GetFileList(string dir) { var result = new StringBuilder(); try { var ftpRequest = FtpRequest(Path, WebRequestMethods.Ftp.ListDirectory); WebResponse response = ftpRequest.GetResponse(); var reader = new StreamReader(response.GetResponseStream()); string line = reader.ReadLine(); while (line != null) result.Append(line); result.Append( /n  Console.WriteLine(line); line = reader.ReadLine(); } // to remove the trailing /n  result.Remove(result.ToString().LastIndexOf( /n ), 1); reader.Close(); response.Close(); return result.ToString().Split( /n  } catch (Exception ex) Console.WriteLine( 獲取ftp上面的文件和文件夾: + ex.Message); return new[] {  } /// summary  /// 獲取文件大小 /// /summary  /// param name= file ip服務(wù)器下的相對路徑 /param  /// returns 文件大小 /returns  public static int GetFileSize(string file) { var result = new StringBuilder(); FtpWebRequest request; try request = (FtpWebRequest) WebRequest.Create(new Uri(Path + file)); request.UseBinary = true; request.Credentials = new NetworkCredential(Username, Password); //設(shè)置用戶名和密碼 request.Method = WebRequestMethods.Ftp.GetFileSize; var dataLength = (int) request.GetResponse().ContentLength; return dataLength; } catch (Exception ex) Console.WriteLine( 獲取文件大小出錯: + ex.Message); return -1; } /// summary  /// 文件上傳 /// /summary  /// param name= localFile 原路徑(絕對路徑)包括文件名 /param  /// param name= remoteFile 目標文件夾:服務(wù)器下的相對路徑 不填為根目錄 /param  public static bool UpLoad(string localFile, string remoteFile = ) { try { string url = Path; if (remoteFile != ) url += remoteFile + / try { //待上傳的文件 (全路徑) { var fileInfo = new FileInfo(localFile); using (FileStream fs = fileInfo.OpenRead()) { long length = fs.Length; FtpWebRequest reqFtp = FtpRequest(url + fileInfo.Name,WebRequestMethods.Ftp.UploadFile); using (Stream stream = reqFtp.GetRequestStream()) { //設(shè)置緩沖大小 int BufferLength = 5120; var b = new byte[BufferLength]; int i; while ((i = fs.Read(b, 0, BufferLength)) 0) stream.Write(b, 0, i); Console.WriteLine( 上傳文件成功 return true; } catch (Exception ex) Console.WriteLine( 上傳文件失敗錯誤為 + ex.Message); } finally } catch (Exception ex) Console.WriteLine( 上傳文件失敗錯誤為 + ex.Message); } finally } catch (Exception ex) Console.WriteLine( 上傳文件失敗錯誤為 + ex.Message); } return false; } public static bool UpLoad(Stream localFileStream, string remoteFile) { bool result = true; try { var ftpRequest = FtpRequest(Path + remoteFile, WebRequestMethods.Ftp.UploadFile); var ftpStream = ftpRequest.GetRequestStream(); var byteBuffer = new byte[bufferSize]; int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize); try { while (bytesSent != 0) ftpStream.Write(byteBuffer, 0, bytesSent); bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize); } catch (Exception ex) Console.WriteLine(ex.ToString()); result = false; localFileStream.Close(); ftpStream.Close(); } catch (Exception ex) Console.WriteLine(ex.ToString()); result = false; } return result; } public static FtpWebRequest FtpRequest(string requstUrl,string method,bool closedResponse=false) { var reqFtp = (FtpWebRequest) WebRequest.Create(new Uri(requstUrl)); //設(shè)置連接到FTP的帳號密碼 reqFtp.Credentials = new NetworkCredential(Username, Password); //設(shè)置請求完成后是否保持連接 reqFtp.KeepAlive = false; //指定執(zhí)行命令 reqFtp.Method = method; //指定數(shù)據(jù)傳輸類型 reqFtp.UseBinary = true; if (closedResponse) { var resp=reqFtp.GetResponse(); resp.Close(); } return reqFtp; } /// summary  /// 下載 /// /summary  /// param name= localFile 目的位置 /param  /// param name= remoteFile 服務(wù)器相對位置 /param  /// returns /returns  public static bool Download(string localFile,string remoteFile) { bool check = true; try { var outputStream = new FileStream(localFile, FileMode.Create); var ftpRequest = FtpRequest(Path + remoteFile, WebRequestMethods.Ftp.DownloadFile); var response = (FtpWebResponse)ftpRequest.GetResponse(); Stream ftpStream = response.GetResponseStream(); long cl = response.ContentLength; int bufferSize = 2048; int readCount; var buffer = new byte[bufferSize]; readCount = ftpStream.Read(buffer, 0, bufferSize); while (readCount 0) outputStream.Write(buffer, 0, readCount);  readCount = ftpStream.Read(buffer, 0, bufferSize); ftpStream.Close(); outputStream.Close(); response.Close(); } catch (Exception err) check = false; } return check; } public static Stream Download(string remoteFile) { var ftpRequest = FtpRequest(Path + remoteFile, WebRequestMethods.Ftp.DownloadFile); var response = (FtpWebResponse)ftpRequest.GetResponse(); Stream ftpStream = response.GetResponseStream(); return ftpStream; } /// summary  /// 刪除文件 /// /summary  /// param name= fileName 服務(wù)器下的相對路徑 包括文件名 /param  public static void DeleteFileName(string fileName) { try FtpRequest(Path + fileName, WebRequestMethods.Ftp.DeleteFile,true); } catch (Exception ex) Console.WriteLine( 刪除文件出錯: + ex.Message); } /// summary  /// 新建目錄 上一級必須先存在 /// /summary  /// param name= dirName 服務(wù)器下的相對路徑 /param  public static void MakeDir(string dirName) { try FtpRequest(Path + dirName, WebRequestMethods.Ftp.MakeDirectory, true); } catch (Exception ex) Console.WriteLine( 創(chuàng)建目錄出錯: + ex.Message); } /// summary  /// 刪除目錄 上一級必須先存在 /// /summary  /// param name= dirName 服務(wù)器下的相對路徑 /param  public static void DelDir(string dirName) { try FtpRequest(Path + dirName, WebRequestMethods.Ftp.RemoveDirectory,true); } catch (Exception ex) Console.WriteLine( 刪除目錄出錯: + ex.Message); } /// summary  /// 從ftp服務(wù)器上獲得文件夾列表 /// /summary  /// param name= requedstPath 服務(wù)器下的相對路徑 /param  /// returns /returns  public static List string GetDirctory(string requedstPath) { var strs = new List string try { var reqFtp = FtpRequest(Path + requedstPath, WebRequestMethods.Ftp.ListDirectoryDetails); WebResponse response = reqFtp.GetResponse(); var reader = new StreamReader(response.GetResponseStream()); //中文文件名 string line = reader.ReadLine(); while (line != null) { if (line.Contains( DIR )) { string msg = line.Substring(line.LastIndexOf( DIR ) + 5).Trim(); strs.Add(msg); line = reader.ReadLine(); reader.Close(); response.Close(); return strs; } catch (Exception ex) Console.WriteLine( 獲取目錄出錯: + ex.Message); } return strs; } /// summary  /// 從ftp服務(wù)器上獲得文件列表 /// /summary  /// param name= requedstPath 服務(wù)器下的相對路徑 /param  /// returns /returns  public static List string GetFile(string requedstPath) { var strs = new List string try { var reqFtp = FtpRequest(Path + requedstPath, WebRequestMethods.Ftp.ListDirectoryDetails); WebResponse response = reqFtp.GetResponse(); var reader = new StreamReader(response.GetResponseStream()); //中文文件名 string line = reader.ReadLine(); while (line != null) { if (!line.Contains( DIR )) { string msg = line.Substring(39).Trim(); strs.Add(msg); line = reader.ReadLine(); reader.Close(); response.Close(); return strs; } catch (Exception ex) Console.WriteLine( 獲取文件出錯: + ex.Message); } return strs; }

View Code

主要是通過創(chuàng)建FtpRequest來處理Ftp相關(guān)請求。

 public static FtpWebRequest FtpRequest(string requstUrl,string method,bool closedResponse=false) { var reqFtp = (FtpWebRequest) WebRequest.Create(new Uri(requstUrl)); //設(shè)置連接到FTP的帳號密碼 reqFtp.Credentials = new NetworkCredential(Username, Password); //設(shè)置請求完成后是否保持連接 reqFtp.KeepAlive = false; //指定執(zhí)行命令 reqFtp.Method = method; //指定數(shù)據(jù)傳輸類型 reqFtp.UseBinary = true; if (closedResponse) { var resp=reqFtp.GetResponse(); resp.Close(); } return reqFtp; }

因為在MVC網(wǎng)站中使用的文件流的方式。

下載:

 public static Stream Download(string remoteFile) { var ftpRequest = FtpRequest(Path + remoteFile, WebRequestMethods.Ftp.DownloadFile); var response = (FtpWebResponse)ftpRequest.GetResponse(); Stream ftpStream = response.GetResponseStream(); return ftpStream; }

調(diào)用:

 public ActionResult DownloadFileFromFtp() { var filepath = DIAView//simple.png var stream = FtpHelper.Download(filepath); return File(stream, FileHelper.GetContentType( .png ), test.png  }

上傳:

 public static bool UpLoad(Stream localFileStream, string remoteFile) { bool result = true; try { var ftpRequest = FtpRequest(Path + remoteFile, WebRequestMethods.Ftp.UploadFile); var ftpStream = ftpRequest.GetRequestStream(); var byteBuffer = new byte[bufferSize]; int bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize); try { while (bytesSent != 0) ftpStream.Write(byteBuffer, 0, bytesSent); bytesSent = localFileStream.Read(byteBuffer, 0, bufferSize); } catch (Exception ex) Console.WriteLine(ex.ToString()); result = false; localFileStream.Close(); ftpStream.Close(); } catch (Exception ex) Console.WriteLine(ex.ToString()); result = false; } return result; }

調(diào)用:

 [HttpPost] public JsonResult UploadFile(HttpPostedFileBase fileData) { if (fileData != null) { string fileName = Path.GetFileName(fileData.FileName);// 原始文件名稱 string saveName = Encrypt.GenerateOrderNumber() + _ +fileName;  FtpHelper.UpLoad(fileData.InputStream, DIAView + / + saveName); return Json(new { Success = true, FileName = fileName, SaveName = saveName}, JsonRequestBehavior.AllowGet); } return Json(new { Success = false, Message = 請選擇要上傳的文件! }, JsonRequestBehavior.AllowGet); }

Ftp還可以設(shè)置不同用戶有不同的目錄,是以為記

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php 其它相關(guān)文章!

推薦閱讀:

怎樣用nodejs搭建服務(wù)器

怎樣將Node.JS部署到Heroku

以上就是FTP的文件管理的詳細內(nèi)容,html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产精品theporn动漫| 欧美性生交大片免费| 在线看片中文字幕| 全彩无遮拦全彩口工漫画全彩| 日韩一二三区不卡| 国产亚洲高清视频| 欧美二区在线观看| 欧美熟乱15p| 国产精品久久久| 亚洲男女av一区二区| 一区国产精品| 久久久久久久久91| 不卡视频在线播放| 亚洲国产精品午夜在线观看| 国产精品免费观看视频| 伊人影院蕉久影院在线观看| 精品成人av一区二区三区| 肉色欧美久久久久久久免费看| 91丨porny丨国产| 桃花网日韩影视在线观看视频| 成人福利视频网| 欧美日韩一区二区三区| 日本私人影院在线观看| 欧美精品123| 亚洲美女主播视频免费观看| 亚洲另类色综合网站| 天天摸天天干| 久久亚洲人体| 国产色婷婷亚洲99精品小说| 日本午夜精品一区二区三区电影| 蜜臀在线免费观看| 91精品国产综合久久久久久豆腐| 2019日韩中文字幕mv| 中文字幕人妻无码系列第三区| 少妇精品久久久久久久久久| 免费av观看网站| 亚洲精品无码专区| 麻豆国产精品777777在线| 久久久久中文| 大胆欧美熟妇xx| 国内精品国产三级国产在线专| 一本色道无码道dvd在线观看| 菠萝菠萝蜜在线观看| 精品国免费一区二区三区| 欧美久久精品午夜青青大伊人| av一本久道久久波多野结衣| 久久99精品国产一区二区三区| 中文字幕a级片| 九九久久精品视频| 看女生喷水的网站在线观看| 欧美久久亚洲| 九一成人免费视频| 免费观看又污又黄在线观看国产| 国产成人av一区二区三区不卡| 国产又爽又黄无码无遮挡在线观看| 久久综合亚洲| 成人看的羞羞网站| 成人一对一视频| 欧美成人一区二区| 日韩激情av在线免费观看| 国产精品免费观看久久| jizzjizz免费大全| 国产成人亚洲精品自产在线| 亚洲黄色小说图片| 美国十次综合久久| 欧美日韩1234| 人人玩人人添人人澡免费| 欧美三级又粗又硬| 久久xxxx精品视频| 99久久夜色精品国产亚洲| 秋霞毛片大全| 国产精品一区二区婷婷| 久久久久久久激情| 日韩黄色小视频| 性欧美freesex顶级少妇| 91色porny蝌蚪| 99久久婷婷国产| 四虎影视4hu4虎成人| 操操操com| 青青a在线精品免费观看| 丝袜中文在线| 国产剧情一区二区在线观看| 成人黄色在线免费观看| 另类视频欧美| 欧美一二三四区在线| 男人透女人免费视频| 欧美三级日韩三级| 91视频免费网址| 亚洲精品日韩精品| 日韩精品一二三四| 亚洲欧美日韩动漫| 亚洲欧美激情在线观看| 97在线视频免费观看| 日本h视频在线观看| 中文字幕免费视频| 欧美狂猛xxxxx乱大交3| 色综合天天综合网天天狠天天| 久久av秘一区二区三区| 久久久99精品免费观看| 清纯唯美亚洲激情| 一区二区三区在线视频看| 欧美男男freegayvideosroom| www.色就是色| 肥臀熟女一区二区三区| 久久久婷婷一区二区三区不卡| 欧美日韩国产观看视频| 国产一区二区三区在线播放免费观看| 亚洲一线在线观看| 午夜久久tv| 日韩中文字幕国产| 午夜激情成人网| 国产午夜视频| 色婷婷国产精品久久包臀| 欧美视频www| 国产视频每日更新| 国产亚洲在线播放| 色一情一乱一伦一区二区三欧美| 秋霞影院一区二区| 日韩一本精品| 一级少妇精品久久久久久久| 欧美v亚洲v| 天天色天天干天天色| 亚洲精品免费看| 亚洲第一偷拍网| 国产熟女一区二区丰满| 国产精品天天看| 亚洲欧美电影在线观看| 国产精品视频在线观看| 人妻无码中文字幕| 久久久久久久久福利| 亚洲高清影视| 国产乡下妇女做爰视频| 亚洲精品护士| 91在线直播亚洲| 日韩制服丝袜先锋影音| 婷婷综合久久一区二区三区| 日韩福利电影在线| 黄色大片网站| 欧美日韩一区二区三区| 国产精品美女久久久久av爽| 亚色视频在线播放| 欧美日韩一区二区三区四区在线观看| 日本精品一区二区三区四区的功能| 久久精品一二区| 色婷婷一区二区三区| 国产浪潮av性色av小说| 亚洲综合第一| 日韩一级在线视频| 伊人久久成人| 国产美女作爱全过程免费视频| 国产精品另类一区| 另类调教123区| 国产亚洲美州欧州综合国| 日韩久久精品一区二区三区| 国产成人精品日本亚洲11| 日韩欧美一区二区三区在线| 欧美日韩免费观看一区=区三区| 奇米成人av国产一区二区三区| 成人精品久久一区二区三区| 国产精品久久久久久在线观看| 少妇人妻无码专区视频| 波多野结衣视频网站| 久色乳综合思思在线视频| 国产精品揄拍500视频| 青春有你2免费观看完整版在线播放高清| 成人av午夜电影| 欧美成人激情| 欧美高清xxxxxkkkkk| 国产精品视频分类| 免费成人结看片| 在线免费看毛片| 欧美偷窥清纯综合图区| 羞羞网站在线免费观看| 欧美性受xxx| 亚洲区 欧美区| 日韩一区二区不卡| 中文字幕一区二区人妻痴汉电车| 欧美高清videos高潮hd| 在线不卡国产精品| 高清国产一区二区三区四区五区| 欧美日韩精品是欧美日韩精品| 精品国精品国产自在久国产应用| 九九色在线视频| yellow91字幕网在线| 国产视频福利在线| 欧美久久视频| 免费观看国产精品| 香蕉伊大人中文在线观看| 亚洲永久免费视频| 日韩一区二区福利| 欧美日韩午夜激情| 狠狠久久五月精品中文字幕| 爱情岛论坛vip永久入口| 国产一区二区视频免费观看| 黄色污污在线观看| 盗摄牛牛av影视一区二区| 日本精品久久久| 亚洲视频在线一区| 91精品国产91久久久久麻豆 主演| 日韩高清成人| 国产无遮挡aaa片爽爽| 秋霞蜜臀av久久电影网免费| 91tv亚洲精品香蕉国产一区| 五月天婷亚洲天综合网精品偷| 成人毛片100部免费看| 嫩模一区二区三区| 国产精品久久久久久久免费观看| 国产在线999| 日韩毛片在线播放| 国产精品永久免费视频| 亚洲黄色天堂| 亚洲制服丝袜在线播放| 污视频网站免费| 亚州福利视频| 成人免费网站黄| 欧美激情一区二区三区久久久| 欧美一区二区三区日韩视频| 国产又黄又粗又猛又爽的| 欧美大片va欧美在线播放| 久久久免费在线观看| 欧美另类极品videosbest视频| 91在线视频免费| 日本中文字幕视频在线| 欧美福利视频一区| 欧美aaaaaa午夜精品| 亚洲欧洲美洲一区二区三区| 欧美日韩亚洲三区| 亚洲精品国产精品国自产观看浪潮| 亚洲熟女乱色一区二区三区| 97一区二区三区| 久久精品香蕉视频| 一色屋成人免费精品网站| 亚洲a视频在线观看| 色一情一乱一区二区三区| 亚洲高清免费观看高清完整版在线观看| 久久www免费人成精品| 在线天堂av| 久久国产精品网站| 欧美高清视频免费观看| 骚虎视频欧美| 国产奶头好大揉着好爽视频| 最新国产精品精品视频| 在线免费一级片| 91丨九色丨海角社区| 91大神福利视频| 欧亚精品中文字幕| 亚洲欧美在线观看视频| 黄色网址中文字幕| 国产精品一区二区三区不卡| 欧美黑人xxxⅹ高潮交| 国产视频第二页| 欧美日韩精品综合在线| 日本在线视频一区二区三区| 最近中文字幕mv免费高清电影| 国产日韩欧美中文在线播放| 国产精品久久久久毛片| 大伊人狠狠躁夜夜躁av一区| 亚洲第一页在线播放| 一区二区三区在线播放| av不卡在线免费观看| 色综合久久久久久中文网| 暖暖成人免费视频| a看欧美黄色女同性恋| 一区二区三区国产豹纹内裤在线| 一区二区三区不卡视频在线观看| 欧美黑人一区二区| 日韩国产在线不卡视频| 亚洲成人在线电影| jizzjizz免费大全| 性欧美精品男男| 国产欧美日韩亚州综合| 欧美黑人视频一区| 这里只有精品999| 亚洲天堂网在线视频| 欧美丰满美乳xxⅹ高潮www| 成人网在线视频| av男人天堂网| 免费精品视频在线| 日本久久免费| 任我爽精品视频在线播放| 免费a漫导航| 国产日韩精品综合网站| 蜜乳av一区二区| 国产精品乱看| 一区二区视频| 日本不卡视频在线观看| 日韩av大全| 久久久久欧美精品| 亚洲国产你懂的| 日韩精品一区二区亚洲av| 好操啊在线观看免费视频| 蜜臀视频在线观看| 91小视频免费观看| 欧美三区在线观看| 国产三级在线免费| 国产精品网站在线观看| 成人羞羞视频免费| 亚洲人成电影院色| 欧美福利视频导航| 亚洲第一综合色| 免费视频中文字幕| 校园激情久久| 国产精品第5页| 国产精品免费麻豆入口| 四虎国产精品成人永久免费影视| 强乱中文字幕av一区乱码| 亚洲一区中文字幕永久在线| 伊人久久大香线蕉av一区| 黄色av成人| 日本欧美黄网站| 中文字幕中文字幕在线中一区高清| av免费网站观看| 亚洲国产精品一区二区久久恐怖片| 国产精品视频导航| 久久精品中文字幕免费mv| 久久久无码人妻精品无码| 日韩三级一区| 成品人视频ww入口| 影音成人av| www.国产精| 视频一区二区三| 国产三级做爰在线观看| 艳妇乳肉豪妇荡乳xxx| 无限国产资源| 亚洲福利小视频| eeuss影院在线播放| www.撸撸| 欧美福利视频一区二区|