国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
Rss
& SiteMap
曙海教育集團論壇
http://www.bjzhda.cn
曙海教育集團論壇
◎
曙海教育集團論壇
→
Microsoft.NET Framework
→
Microsoft .NET Framework 2.0對文件傳輸協議(FTP)操作總結1
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
[瀏覽完整版]
標題:Microsoft .NET Framework 2.0對文件傳輸協議(FTP)操作總結1
1樓
wangxinxin
發表于:2010-12-15 9:21:25
以下內容含腳本,或可能導致頁面不正常的代碼
FTP<span class="t_tag" onclick="tagshow(event)" href="tools/ajax.aspx?t=topicswithsametag&tagid=12">上傳</span>,下載,新建,刪除,FTP間傳送文件等 最近項目需要對FTP服務器進行操作,現把實現總結如下: 打算分2篇總結: 第1篇總結Ftp的一些常規的操作實現(例如:上傳,下載,新建,刪除,FTP間互傳文件等操作) 第2篇總結Ftp的操作的一些其他實現(例如:<span class="t_tag" onclick="tagshow(event)" href="tools/ajax.aspx?t=topicswithsametag&tagid=129">異步</span>上傳,異步下載等其他操作) Microsoft .NET Framework 2.0新增加了3個類使我們很方便的對文件傳輸協議(FTP)服務器進行操作 FtpWebRequest類:實現文件傳輸協議(FTP)客戶端 public sealed class FtpWebRequest : WebRequest FtpWebResponse類:封裝文件傳輸協議(FTP)服務器對請求的響應 public class FtpWebResponse : WebResponse, IDisposable WebRequestMethods.Ftp類:表示可與FTP請求一起使用的FTP協議方法的類型,無法繼承此類 public static class Ftp 類關系圖 附件: <a class="pin5i_attach_a" href="http://www.pin5i.com/login.aspx">FtpWebResponse_class.jpg </a> 操作ftp的一般步驟我總結如下: 第一步:WebRequest.Create方法,獲得FtpWebRequest的實例 第二步:利用WebRequestMethods.Ftp設置FtpWebRequest的Method屬性,指定使用的FTP協議方法的類型 第三步:設置FtpWebRequest的Credentials屬性,指定用戶名和密碼 第四步:發出請求 第五步:接收響應數據流(有些ftp操作可能沒這一步,例如給文件夾改名) 第六步:關閉流 下面從幾段代碼來分別展示ftp的不同操作: <b>1.文件夾和文件信息</b> 關鍵知識說明: a.FtpWebRequest類沒有公開的構造函數,我們通過WebRequest.Create方法,獲得FtpWebRequest的實例 b.通過WebRequestMethods.Ftp.ListDirectoryDetails(詳細列表)或者WebRequestMethods.Ftp.ListDirectory(簡短列表)獲取FTP服務器上的文件列表 c.請求返回的數據在GetResponseStream方法返回的流中 d.字符編碼請用System.Text.Encoding.Default,要不中文名會亂碼 e.FtpWebRequest.Credentials屬性設置登陸用戶名和密碼 f.FtpWebRequest.UseBinary屬性,true,指示服務器要傳輸的是二進制數據.false,指示數據為文本。默認值為true g.FtpWebRequest.EnableSsl屬性,如果控制和數據傳輸是加密的,則為true.否則為false.默認值為 false 實例代碼: 獲取<a href="ftp://218.16.229.120/" target="_blank" rel="nofollow">ftp://218.16.229.120</a>上的文件信息 <div class="blockcode"> <div id="code26123_-1"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails; <li>//listRequest.Method = WebRequestMethods.Ftp.ListDirectory; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li>Stream responseStream = listResponse.GetResponseStream ( ); <li>StreamReader readStream = new StreamReader ( responseStream , System.Text.Encoding.Default ); <li> <li>if ( readStream != null ) <li>{ <li> MessageBox.Show ( readStream.ReadToEnd ( ) ); <li>} <li> <li>MessageBox.Show ( string.Format ( "狀態: {0},{1}" ,listResponse.StatusCode, listResponse.StatusDescription ) ); <li> <li>listResponse.Close ( ); <li>responseStream.Close ( ); <li>readStream.Close ( ); </li></ol></div><em >復制代碼</em></div>通過WebRequestMethods.Ftp.ListDirectoryDetails(詳細列表)或者WebRequestMethods.Ftp.ListDirectory(簡短列表)返回的結果是不一樣的.請看圖 附件: <a class="pin5i_attach_a" href="http://www.pin5i.com/login.aspx">FtpWebResponse_msg.jpg </a> 利用WebRequestMethods.Ftp.ListDirectoryDetails,readStream.ReadToEnd ( )返回的字符串比較復雜(不同類型的Ftp會有不同返回形式的返回結果),要把里面的文件夾和文件區分列出來比較繁瑣,代碼比較多,所以我沒寫出來,感興趣的朋友可以留言,我可以郵件發送. <b>2.取ftp登陸身份<span class="t_tag" onclick="tagshow(event)" href="tools/ajax.aspx?t=topicswithsametag&tagid=247">驗證</span>完成后的歡迎信息</b> 關鍵知識說明: a.FtpWebResponse.WelcomeMessage屬性獲取身份驗證完成時FTP服務器發送的消息 實例代碼: 獲取<a href="ftp://218.16.229.120/" target="_blank" rel="nofollow">ftp://218.16.229.120</a>登陸身份驗證完成后的歡迎信息 <div class="blockcode"> <div id="code26123_0"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( listResponse.WelcomeMessage ); </li></ol></div><em >復制代碼</em></div>附加說明:要是FTP服務器的歡迎信息帶有中文,運行這段代碼時可能會發生異常(基礎連接已經關閉: 服務器提交了協議). 解決辦法:打補丁Microsoft .NET Framework 2.0 Service Pack 1 <b>3.重命名目錄</b> 關鍵知識說明: a.WebRequestMethods.Ftp.Rename表示重命名目錄的FTP協議方法 b.FtpWebRequest.RenameTo屬性重命名的新名稱 實例代碼: 把<a href="ftp://218.16.229.120/" target="_blank" rel="nofollow">ftp://218.16.229.120/</a>上的a目錄重命名為av <div class="blockcode"> <div id="code26123_1"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120/a" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.Rename; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>listRequest.RenameTo = "av"; <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( listResponse.StatusDescription ); </li></ol></div><em >復制代碼</em></div><b>4.刪除目錄</b> 關鍵知識說明: a.WebRequestMethods.Ftp.RemoveDirectory表示移除目錄的FTP協議方法 實例代碼: 刪除<a href="ftp://218.16.229.120/" target="_blank" rel="nofollow">ftp://218.16.229.120</a>上的av文件夾 <div class="blockcode"> <div id="code26123_2"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120/av" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.RemoveDirectory; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( listResponse.StatusDescription ); </li></ol></div><em >復制代碼</em></div><b>5.新建目錄</b> 關鍵知識說明: a.WebRequestMethods.Ftp.MakeDirectory表示在FTP服務器上創建目錄的協議方法 實例代碼: 在<a href="ftp://218.16.229.120/" target="_blank" rel="nofollow">ftp://218.16.229.120</a>上建立目錄vb <div class="blockcode"> <div id="code26123_3"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120/vb" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.MakeDirectory; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( listResponse.StatusDescription ); </li></ol></div><em >復制代碼</em></div><b>6.得文件大小</b> 關鍵知識說明: a.WebRequestMethods.Ftp.GetFileSize表示要用于檢索FTP服務器上的文件大小 b.流數據的長度可以從FtpWebResponse.ContentLength屬性中獲取。 實例代碼: 獲取<a href="ftp://218.16.229.120上的會議記錄.doc/" target="_blank" rel="nofollow">ftp://218.16.229.120上的會議記錄.doc</a>文件大小 <div class="blockcode"> <div id="code26123_4"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120/會議記錄.doc" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.GetFileSize; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( string.Format ( "文件大小: {0}" , listResponse.ContentLength ) ); </li></ol></div><em >復制代碼</em></div><b>7.刪除文件</b> 關鍵知識說明: a.WebRequestMethods.Ftp.DeleteFile表示要用于刪除FTP服務器上的文件 實例代碼: 刪除<a href="ftp://218.16.229.120上的工作安排.txt/" target="_blank" rel="nofollow">ftp://218.16.229.120上的工作安排.txt</a>文件 <div class="blockcode"> <div id="code26123_5"> <ol> <li>Uri uri = new Uri ( "ftp://218.16.229.120/工作安排.txt" ); <li> <li>FtpWebRequest listRequest = ( FtpWebRequest ) WebRequest.Create ( uri ); <li> <li>listRequest.Method = WebRequestMethods.Ftp.DeleteFile; <li> <li>string ftpUser = ""; <li>string ftpPassWord = ""; <li>listRequest.Credentials = new NetworkCredential ( ftpUser , ftpPassWord ); <li> <li>FtpWebResponse listResponse = ( FtpWebResponse ) listRequest.GetResponse ( ); <li> <li>MessageBox.Show ( string.Format ( "Delete status: {0}" , listResponse.StatusDescription ) ); </li></ol></div><em >復制代碼</em></div><b>8.上傳文件</b> 關鍵知識說明: a.WebRequestMethods.Ftp.UploadFile表示將文件上載到FTP服務器 b.使用FtpWebRequest對象向服務器上載文件,則必須將文件內容寫入請求流,請求流是通過調用FtpWebRequest.GetRequestStream方法.如果未將屬性設置為UploadFile,則不能獲取流。 c.異步對應方法(FtpWebRequest.BeginGetRequestStream方法和FtpWebRequest.EndGetRequestStream 方法),關于異步上傳的實現我會再寫在下篇總匯中
說明:
上面顯示的是代碼內容。您可以先檢查過代碼沒問題,或修改之后再運行.
共1 條記錄, 每頁顯示 10 條, 頁簽:
[1]
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
Processed in .01563 s, 2 queries.
[Full]
完整版
[Rss]
訂閱
[Xml]
無圖版
[Xhtml]
無圖版
国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
18成人免费观看视频
|
亚洲午夜未删减在线观看
|
欧美精品成人一区二区在线观看
|
久久国产精品久久精品国产
|
久久国产欧美日韩精品
|
亚洲天天影视
|
中文网丁香综合网
|
中文有码久久
|
亚洲网站在线观看
|
亚洲无毛电影
|
亚洲一区免费网站
|
亚洲一区二区高清视频
|
亚洲视频在线看
|
在线视频亚洲
|
亚洲一品av免费观看
|
亚洲欧美一区二区三区极速播放
|
亚洲高清免费
|
免费视频一区二区三区在线观看
|
亚洲三级免费电影
|
亚洲国产欧美一区
|
亚洲人成小说网站色在线
|
亚洲电影第1页
|
亚洲激情视频在线播放
|
亚洲毛片一区二区
|
一区二区高清
|
亚洲综合成人在线
|
欧美一区二区三区免费观看视频
|
西西人体一区二区
|
久久久久88色偷偷免费
|
久久影音先锋
|
欧美成人免费观看
|
欧美日产国产成人免费图片
|
欧美在线视频a
|
欧美一区二区私人影院日本
|
久久婷婷久久一区二区三区
|
亚洲国产日韩欧美在线图片
|
欧美精品激情
|
欧美日韩不卡
|
国产精品一区二区欧美
|
国产一区二区三区日韩
|
亚洲成色最大综合在线
|
亚洲美女视频网
|
亚洲欧美激情视频
|
久久精品亚洲热
|
欧美激情亚洲另类
|
久久久久久穴
|
免费欧美在线视频
|
欧美三级乱人伦电影
|
国产精品一区2区
|
欧美日韩精品三区
|
久久亚洲视频
|
羞羞漫画18久久大片
|
久久精品国产免费
|
欧美高清在线观看
|
理论片一区二区在线
|
欧美福利一区二区三区
|
欧美调教视频
|
精品成人在线观看
|
99国产精品国产精品久久
|
亚洲欧美视频在线
|
狼人天天伊人久久
|
欧美日韩一区二区三区
|
国产日韩欧美综合
|
亚洲片在线观看
|
午夜久久久久久久久久一区二区
|
久色婷婷小香蕉久久
|
欧美精品999
|
国产午夜亚洲精品不卡
|
亚洲六月丁香色婷婷综合久久
|
午夜精品视频网站
|
欧美精品福利在线
|
国产一区清纯
|
亚洲最新色图
|
久久在线免费视频
|
国产精品美女久久久久av超清
|
亚洲高清不卡在线
|
亚洲欧美在线免费
|
欧美日本国产
|
在线看一区二区
|
午夜视频久久久
|
欧美日韩国产色站一区二区三区
|
国产综合久久久久久
|
亚洲午夜激情免费视频
|
夜夜嗨av一区二区三区中文字幕
|
亚洲欧美一区二区在线观看
|
免费在线欧美黄色
|
国产午夜一区二区三区
|
欧美色图天堂网
|
久久精品99国产精品
|
欧美日韩1区2区
|
欧美激情精品久久久六区热门
|
亚洲亚洲精品三区日韩精品在线视频
|
久久中文字幕导航
|
国产欧美一二三区
|
中国日韩欧美久久久久久久久
|
免费日韩成人
|
黄色精品一区二区
|
小黄鸭精品aⅴ导航网站入口
|
欧美日韩国产综合新一区
|
亚洲第一页在线
|
久久精品成人一区二区三区
|
精品二区视频
|
亚洲欧美综合v
|
欧美日韩一区在线播放
|
亚洲国产午夜
|
久久乐国产精品
|
国产一区二区三区久久久久久久久
|
亚洲一区二区三区精品动漫
|
欧美麻豆久久久久久中文
|
1024亚洲
|
可以看av的网站久久看
|
国外视频精品毛片
|
欧美在现视频
|
国产精品美女午夜av
|
中文av字幕一区
|
欧美日韩午夜在线视频
|
国产精品成人一区二区三区吃奶
|
在线精品观看
|
久久视频在线视频
|
欧美日韩ab
|
亚洲国产精品悠悠久久琪琪
|
国产伦理一区
|
亚洲专区一二三
|
国产精品国产精品
|
宅男精品视频
|
欧美性大战久久久久久久蜜臀
|
亚洲美女黄色
|
欧美日韩精品一区二区三区
|
国产精品久久久久久久9999
|
日韩一级黄色大片
|
欧美日韩国产区一
|
亚洲视频在线视频
|
国产精品激情
|
在线精品视频一区二区
|
久久久久久9
|
一区二区在线观看av
|
一区二区三区免费网站
|
欧美日韩国产黄
|
欧美日韩国产色综合一二三四
|
一本到12不卡视频在线dvd
|
欧美aⅴ99久久黑人专区
|
亚洲电影第1页
|
你懂的网址国产 欧美
|
亚洲欧洲日本专区
|
欧美日韩国产一级
|
在线视频精品一区
|
久久久人成影片一区二区三区观看
|
99在线精品视频
|
欧美午夜在线
|
性色av一区二区三区在线观看
|
亚洲国产天堂久久综合
|
欧美成人一区在线
|
一区二区免费在线播放
|
国产精品视频一二
|
亚洲激情第一页
|
欧美h视频在线
|
日韩一区二区免费高清
|
国产精品久久9
|
久久精品91
|
亚洲精品黄色
|
国产精品青草综合久久久久99
|
欧美在线影院
|
亚洲国产一区二区三区在线播
|
欧美日韩福利在线观看
|
亚洲欧美日韩精品久久奇米色影视
|
国产视频精品xxxx
|
猛干欧美女孩
|
亚洲视频欧美视频
|
国产一区二区三区在线观看网站
|
蜜桃av噜噜一区
|
亚洲天堂男人
|
好吊一区二区三区
|
欧美人与禽性xxxxx杂性
|
亚洲欧美日韩成人
|
影音先锋亚洲视频
|
欧美日韩网址
|
久久久久久自在自线
|
一区二区三区四区蜜桃
|
国产在线欧美
|
欧美色道久久88综合亚洲精品
|
久久精品国产一区二区电影
|
亚洲理论在线观看
|
国产原创一区二区
|
欧美日韩国产在线播放
|
久久国产精品久久国产精品
|
亚洲剧情一区二区
|
国产一级一区二区
|
欧美另类高清视频在线
|
久久国产精品一区二区三区
|
日韩午夜剧场
|
国产精品久久久久久久久久三级
|
一区二区三区四区五区精品
|
国产亚洲一区精品
|
欧美美女福利视频
|
久久精品国产亚洲a
|
99在线精品观看
|
国产一区二区三区在线观看网站
|
国产一区二区三区最好精华液
|
欧美另类videos死尸
|
久久久久国产一区二区三区
|