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

asp.net 一個(gè)封裝比較完整的FTP類

 更新時(shí)間:2009年06月19日 23:28:29   作者:  
.NET一個(gè)FTP操作類。但這個(gè)類經(jīng)常出錯(cuò),使用DISCUZ使用的類就好多了。
先看這個(gè)簡單的
復(fù)制代碼 代碼如下:

FTP ftp = new FTP("192.168.1.117", "ahuinan", "123456");

string oldname = this.FileUpload1.PostedFile.FileName;
string newname = dd + h + mm + ss + oldname.Substring(oldname.LastIndexOf("."));


// ftp.Connect();
ftp.OpenUpload(oldname,newname);
while (ftp.DoUpload() > 0)
{
int perc = (int)(((ftp.BytesTotal) * 100) / ftp.FileSize);
Response.Write(perc.ToString() + "%<br/>");
Response.Flush();
}


功能

ü         建立FTP鏈接

ü         支持代理

ü         多種重載的同步上傳文件

ü         多種重載的異步上傳文件

ü         多種重載的同步下載文件

ü         多種重載的異步下載文件

ü         上傳文件的進(jìn)度百分比

ü         下載文件的進(jìn)度白分比

ü         有區(qū)分的列出目錄或者文件的信息(考慮到MS DOS顯示格式和UNIX格式)

ü         目錄或文件存在的判斷

ü         刪除文件

ü         重命名文件、目錄

ü         在FTP服務(wù)器上面拷貝、移動(dòng)文件(許多人可能在苦苦尋找這個(gè)功能)

ü         建立、刪除目錄

ü         目錄切換操作(很新穎哦 J)

 

公共構(gòu)造函數(shù)

名稱

說明

clsFTP()

初始化clsFtp類的新實(shí)例

clsFTP(Uri FtpUri, string strUserName, string strPassword)

由FTP地址、FTP登錄用戶信息、FTP登錄用戶密碼初始化clsFtp類的新實(shí)例

clsFTP(Uri FtpUri, string strUserName, string strPassword, WebProxy objProxy)

由FTP地址、FTP登錄用戶信息、FTP登錄用戶密碼、代理服務(wù)器對(duì)象初始化clsFtp類的新實(shí)例

 

 

 

 

公共屬性

名稱

說明

Uri

獲取或設(shè)置FTP服務(wù)器地址

DirectoryPath

獲取當(dāng)前工作目錄

UserName

獲取或設(shè)置FTP登錄用戶

Password

獲取或設(shè)置FTP登錄密碼

Proxy

獲取或設(shè)置連接FTP服務(wù)器的代理服務(wù)

ErrorMsg

獲取操在返回的錯(cuò)誤信息

 

 

公共方法

名稱

說明

DownloadFile(string RemoteFileName, string LocalPath)

從FTP服務(wù)器下載文件,使用與遠(yuǎn)程文件同名的文件名來保存文件。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名

LocalPath: 本地路徑

DownloadFile(string RemoteFileName, string LocalPath, string LocalFileName)

從FTP服務(wù)器下載文件,指定本地路徑和本地文件名。

參數(shù)說明:

LocalPath: 本地路徑

LocalFilePath: 保存文件的本地路徑,后面帶有"\"

LocalFileName: 保存本地的文件名

DownloadFile(string RemoteFileName)

從FTP服務(wù)器下載文件,返回文件二進(jìn)制數(shù)據(jù)。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名

DownloadFileAsync(string RemoteFileName, string LocalPath, string LocalFileName)

從FTP服務(wù)器異步下載文件,指定本地路徑和本地文件名。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名       

LocalPath: 保存文件的本地路徑,后面帶有"\"

LocalFileName: 保存本地的文件名

DownloadFileAsync(string RemoteFileName, string LocalFullPath)

從FTP服務(wù)器異步下載文件,指定本地完整路徑文件名。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名

LocalFullPath: 本地完整路徑文件名

UploadFile(string LocalFullPath)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件名

UploadFile(string LocalFullPath, bool OverWriteRemoteFile)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

UploadFile(string LocalFullPath, string RemoteFileName)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件名

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

UploadFile(byte[] FileBytes, string RemoteFileName)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

FileBytes: 上傳的二進(jìn)制數(shù)據(jù)

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

UploadFile(byte[] FileBytes, string RemoteFileName, bool OverWriteRemoteFile)

上傳文件到FTP服務(wù)器。

參數(shù)說明:

FileBytes: 文件二進(jìn)制內(nèi)容

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

UploadFileAsync(string LocalFullPath)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件名

UploadFileAsync(string LocalFullPath, bool OverWriteRemoteFile)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

UploadFileAsync(string LocalFullPath, string RemoteFileName)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

UploadFileAsync(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

LocalFullPath: 本地帶有完整路徑的文件名

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

UploadFileAsync(byte[] FileBytes, string RemoteFileName)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

FileBytes: 上傳的二進(jìn)制數(shù)據(jù)

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

UploadFileAsync(byte[] FileBytes, string RemoteFileName, bool OverWriteRemoteFile)

異步上傳文件到FTP服務(wù)器。

參數(shù)說明:

FileBytes: 文件二進(jìn)制內(nèi)容

RemoteFileName: 要在FTP服務(wù)器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠(yuǎn)程服務(wù)器上面同名的文件

ListFilesAndDirectories()

列出FTP服務(wù)器上面當(dāng)前目錄的所有文件和目錄。

ListFiles()

列出FTP服務(wù)器上面當(dāng)前目錄的所有文件。

ListDirectories()

列出FTP服務(wù)器上面當(dāng)前目錄的所有的目錄。

DirectoryExist(string RemoteDirectoryName)

判斷當(dāng)前目錄下指定的子目錄是否存在。

參數(shù)說明:

RemoteDirectoryName: 指定的目錄名

FileExist(string RemoteFileName)

判斷一個(gè)遠(yuǎn)程文件是否存在服務(wù)器當(dāng)前目錄下面。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名

DeleteFile(string RemoteFileName)

從FTP服務(wù)器上面刪除一個(gè)文件。

參數(shù)說明:

RemoteFileName: 遠(yuǎn)程文件名

ReName(string RemoteFileName, string NewFileName)

更改一個(gè)文件的名稱或一個(gè)目錄的名稱。

參數(shù)說明:

RemoteFileName: 原始文件或目錄名稱

NewFileName: 新的文件或目錄的名稱

CopyFileToAnotherDirectory(string RemoteFile, string DirectoryName)

把當(dāng)前目錄下面的一個(gè)文件拷貝到服務(wù)器上面另外的目錄中,注意,拷貝文件之后,當(dāng)前工作目錄還是文件原來所在的目錄。

參數(shù)說明:

RemoteFile: 當(dāng)前目錄下的文件名

DirectoryName: 新目錄名稱。

 說明:如果新目錄是當(dāng)前目錄的子目錄,則直接指定子目錄。如: SubDirectory1/SubDirectory2 ;

 如果新目錄不是當(dāng)前目錄的子目錄,則必須從根目錄一級(jí)一級(jí)的指定。如:./NewDirectory/SubDirectory1/SubDirectory2

MoveFileToAnotherDirectory(string RemoteFile, string DirectoryName)

把當(dāng)前目錄下面的一個(gè)文件移動(dòng)到服務(wù)器上面另外的目錄中,注意,移動(dòng)文件之后,當(dāng)前工作目錄還是文件原來所在的目錄。

參數(shù)說明:

RemoteFile: 當(dāng)前目錄下的文件名

DirectoryName: 新目錄名稱。

 說明:如果新目錄是當(dāng)前目錄的子目錄,則直接指定子目錄。如: SubDirectory1/SubDirectory2 ;

 如果新目錄不是當(dāng)前目錄的子目錄,則必須從根目錄一級(jí)一級(jí)的指定。如:./NewDirectory/SubDirectory1/SubDirectory2

MakeDirectory(string DirectoryName)

在FTP服務(wù)器上當(dāng)前工作目錄建立一個(gè)子目錄。

參數(shù)說明:

DirectoryName: 子目錄名稱

RemoveDirectory(string DirectoryName)

從當(dāng)前工作目錄中刪除一個(gè)子目錄。

參數(shù)說明:

DirectoryName: 子目錄名稱

IsValidPathChars(string DirectoryName)

判斷目錄名中字符是否合法。

參數(shù)說明:

DirectoryName: 目錄名稱

IsValidFileChars(string FileName)

判斷文件名中字符是否合法。

參數(shù)說明:

FileName: 文件名稱

GotoDirectory(string DirectoryName)

進(jìn)入一個(gè)目錄。

參數(shù)說明:

DirectoryName:

 新目錄的名字。

 說明:如果新目錄是當(dāng)前目錄的子目錄,則直接指定子目錄。如: SubDirectory1/SubDirectory2 ;

 如果新目錄不是當(dāng)前目錄的子目錄,則必須從根目錄一級(jí)一級(jí)的指定。如:./NewDirectory/SubDirectory1/SubDirectory2

EnterOneSubDirectory(string DirectoryName)

從當(dāng)前工作目錄進(jìn)入一個(gè)子目錄。

參數(shù)說明:

DirectoryName: 子目錄名稱

ComeoutDirectory()

從當(dāng)前工作目錄往上一級(jí)目錄。

 

 

 

公共事件

名稱

說明

DownloadProgressChanged

異步下載進(jìn)度發(fā)生改變觸發(fā)的事件

DownloadDataCompleted

異步下載文件完成之后觸發(fā)的事件

UploadProgressChanged

異步上傳進(jìn)度發(fā)生改變觸發(fā)的事件

UploadFileCompleted

異步上傳文件完成之后觸發(fā)的事件

 

 

 

其他說明

序號(hào)

說明

1

支持代理服務(wù)器。

可以顯式地給Proxy屬性賦值;也可以在構(gòu)造函數(shù)中傳遞Proxy對(duì)象。如果代理需要登錄用戶和密碼,則設(shè)置Proxy的Credentials屬性,例如:

Proxy.Credentials = new NetworkCredential(UserName, Password)

如果沒有代理,則無需給Proxy屬性賦值或者在構(gòu)造函數(shù)中無需傳遞Proxy參數(shù)。

2

下載文件和上傳文件大小最大受Int32.MaxValue限制,所以最大處理只能是2,147,483,647字節(jié)。如果您想處理更大的文件,請自己修改代碼中對(duì)文件打開和讀寫操作部分的代碼使其適應(yīng)您的要求。

3

只有在異步上傳文件或者異步下載文件的時(shí)候,才支持進(jìn)度百分比觸發(fā)事件和下載(上傳)完成事件。

4

由于服務(wù)器未發(fā)送文件大小,因此被動(dòng) FTP 文件傳輸總是將進(jìn)度百分比顯示為零。若要顯示進(jìn)度,可以通過重寫 GetWebRequest 虛擬方法來將 FTP 連接更改為活動(dòng)狀態(tài)。所以,我們在clsFTP類中另外使用內(nèi)部類MyWebClient

 

5

在列出文件和目錄的時(shí)候,clsFTP類區(qū)分出了所獲得的響應(yīng)數(shù)據(jù)哪些是文件,哪些是目錄。同時(shí),考慮到了FTP服務(wù)器上面目錄樣式為MS DOS和UNIX兩種表現(xiàn)形式的不同。

6

支持在FTP服務(wù)器上面不同目錄之間移動(dòng)文件和拷貝文件的功能。移動(dòng)文件的方法比較巧妙,只是拷貝文件所使用的方法不太理想。

 

 

 

 

打包下載 discuz的比較好用

相關(guān)文章

  • asp.net URL編碼與解碼

    asp.net URL編碼與解碼

    通常如果一樣?xùn)|西需要編碼,說明這樣?xùn)|西并不適合傳輸。原因多種多樣,如Size過大,包含隱私數(shù)據(jù),對(duì)于Url來說,之所以要進(jìn)行編碼,是因?yàn)閁rl中有些字符會(huì)引起歧義
    2011-12-12
  • Asp.Net類型轉(zhuǎn)換類(通用類)代碼分享

    Asp.Net類型轉(zhuǎn)換類(通用類)代碼分享

    本文給大家分享兩段代碼,一段代碼關(guān)于asp.net類型轉(zhuǎn)換通用類的代碼,第二段關(guān)于asp.net 頁面數(shù)據(jù)驗(yàn)證通用類的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),感興趣的朋友參考下吧
    2016-01-01
  • 淺談Asp.net Mvc之Action如何傳多個(gè)參數(shù)的方法

    淺談Asp.net Mvc之Action如何傳多個(gè)參數(shù)的方法

    本篇文章主要介紹了Asp.net Mvc之Action如何傳多個(gè)參數(shù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • 詳解Spring Boot 中使用 Java API 調(diào)用 lucene

    詳解Spring Boot 中使用 Java API 調(diào)用 lucene

    這篇文章主要介紹了詳解Spring Boot 中使用 Java API 調(diào)用 lucene,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • .NET之后臺(tái)用戶權(quán)限管理實(shí)現(xiàn)

    .NET之后臺(tái)用戶權(quán)限管理實(shí)現(xiàn)

    在功能性比較強(qiáng)大的后臺(tái)管理網(wǎng)站處于各種角度考慮多有應(yīng)用權(quán)限管理功能。以公司內(nèi)部管理系統(tǒng)為例,管理員根據(jù)不同員工所在不同部門賦予其不同權(quán)限,或者根據(jù)上下級(jí)隸屬關(guān)系實(shí)現(xiàn)“金字塔”管理。本文內(nèi)容有不盡不實(shí)之處懇請指正。
    2013-02-02
  • 利用MS AJAX注冊Javascript命名空間并創(chuàng)建類

    利用MS AJAX注冊Javascript命名空間并創(chuàng)建類

    利用MS AJAX注冊Javascript命名空間并創(chuàng)建類...
    2007-10-10
  • C#開發(fā)微信 二維碼鼠標(biāo)滑動(dòng) 圖像顯示隱藏效果(推薦)

    C#開發(fā)微信 二維碼鼠標(biāo)滑動(dòng) 圖像顯示隱藏效果(推薦)

    客戶端微信在二維碼狀態(tài)下,鼠標(biāo)滑過,會(huì)有一張手機(jī)的圖片滑動(dòng)滑出,從隱藏到顯示,從顯示到隱藏。效果非常棒,本文思路介紹明確,感興趣的朋友一起看看吧
    2016-11-11
  • Convert.ToInt32與Int32.Parse區(qū)別及Int32.TryParse

    Convert.ToInt32與Int32.Parse區(qū)別及Int32.TryParse

    2個(gè)方法都可以把string轉(zhuǎn)換為int,那么他們有什么區(qū)別?什么時(shí)候該用什么?性能如何。 其實(shí)在2.0里還有Int32.TryParse也實(shí)現(xiàn)了同樣的效果。
    2009-01-01
  • .NET 常用功能和代碼小結(jié)

    .NET 常用功能和代碼小結(jié)

    .NET常用功能和代碼,需要的朋友可以參考下。
    2009-11-11
  • ASP.NET MVC解決上傳圖片臟數(shù)據(jù)的方法

    ASP.NET MVC解決上傳圖片臟數(shù)據(jù)的方法

    這篇文章介紹了ASP.NET MVC解決上傳圖片臟數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09

最新評(píng)論

西宁市| 石台县| 山丹县| 兴城市| 弥勒县| 胶南市| 新闻| 当雄县| 汽车| 广饶县| 贞丰县| 堆龙德庆县| 渭源县| 商水县| 金山区| 且末县| 云安县| 宜兰市| 吉木乃县| 光山县| 华安县| 韶关市| 新源县| 秦安县| 华阴市| 秀山| 荔波县| 繁峙县| 西乌珠穆沁旗| 特克斯县| 黄平县| 白城市| 方山县| 柘城县| 大余县| 平阳县| 宁武县| 余庆县| 郓城县| 苏尼特左旗| 南昌县|