string oldname = this.FileUpload1.PostedFile.FileName; string newname = dd + h + mm + ss + oldname.Substring( " /> 欧美z000z猪,亚洲精品成人无码A片在线,成人午夜剧场

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

先看這個(gè)簡(jiǎn)單的
復(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ù)

名稱

說(shuō)明

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í)例

 

 

 

 

公共屬性

名稱

說(shuō)明

Uri

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

DirectoryPath

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

UserName

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

Password

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

Proxy

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

ErrorMsg

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

 

 

公共方法

名稱

說(shuō)明

DownloadFile(string RemoteFileName, string LocalPath)

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

參數(shù)說(shuō)明:

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

LocalPath: 本地路徑

DownloadFile(string RemoteFileName, string LocalPath, string LocalFileName)

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

參數(shù)說(shuō)明:

LocalPath: 本地路徑

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

LocalFileName: 保存本地的文件名

DownloadFile(string RemoteFileName)

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

參數(shù)說(shuō)明:

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

DownloadFileAsync(string RemoteFileName, string LocalPath, string LocalFileName)

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

參數(shù)說(shuō)明:

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

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

LocalFileName: 保存本地的文件名

DownloadFileAsync(string RemoteFileName, string LocalFullPath)

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

參數(shù)說(shuō)明:

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

LocalFullPath: 本地完整路徑文件名

UploadFile(string LocalFullPath)

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

參數(shù)說(shuō)明:

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

UploadFile(string LocalFullPath, bool OverWriteRemoteFile)

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

參數(shù)說(shuō)明:

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

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

UploadFile(string LocalFullPath, string RemoteFileName)

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

參數(shù)說(shuō)明:

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

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

UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

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

參數(shù)說(shuō)明:

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

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

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

UploadFile(byte[] FileBytes, string RemoteFileName)

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

參數(shù)說(shuō)明:

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

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

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

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

參數(shù)說(shuō)明:

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

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

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

UploadFileAsync(string LocalFullPath)

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

參數(shù)說(shuō)明:

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

UploadFileAsync(string LocalFullPath, bool OverWriteRemoteFile)

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

參數(shù)說(shuō)明:

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

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

UploadFileAsync(string LocalFullPath, string RemoteFileName)

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

參數(shù)說(shuō)明:

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

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

UploadFileAsync(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

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

參數(shù)說(shuō)明:

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

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

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

UploadFileAsync(byte[] FileBytes, string RemoteFileName)

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

參數(shù)說(shuō)明:

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

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

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

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

參數(shù)說(shuō)明:

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ù)說(shuō)明:

RemoteDirectoryName: 指定的目錄名

FileExist(string RemoteFileName)

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

參數(shù)說(shuō)明:

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

DeleteFile(string RemoteFileName)

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

參數(shù)說(shuō)明:

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

ReName(string RemoteFileName, string NewFileName)

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

參數(shù)說(shuō)明:

RemoteFileName: 原始文件或目錄名稱

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

CopyFileToAnotherDirectory(string RemoteFile, string DirectoryName)

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

參數(shù)說(shuō)明:

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

DirectoryName: 新目錄名稱。

 說(shuō)明:如果新目錄是當(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)前工作目錄還是文件原來(lái)所在的目錄。

參數(shù)說(shuō)明:

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

DirectoryName: 新目錄名稱。

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

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

MakeDirectory(string DirectoryName)

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

參數(shù)說(shuō)明:

DirectoryName: 子目錄名稱

RemoveDirectory(string DirectoryName)

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

參數(shù)說(shuō)明:

DirectoryName: 子目錄名稱

IsValidPathChars(string DirectoryName)

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

參數(shù)說(shuō)明:

DirectoryName: 目錄名稱

IsValidFileChars(string FileName)

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

參數(shù)說(shuō)明:

FileName: 文件名稱

GotoDirectory(string DirectoryName)

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

參數(shù)說(shuō)明:

DirectoryName:

 新目錄的名字。

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

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

EnterOneSubDirectory(string DirectoryName)

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

參數(shù)說(shuō)明:

DirectoryName: 子目錄名稱

ComeoutDirectory()

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

 

 

 

公共事件

名稱

說(shuō)明

DownloadProgressChanged

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

DownloadDataCompleted

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

UploadProgressChanged

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

UploadFileCompleted

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

 

 

 

其他說(shuō)明

序號(hào)

說(shuō)明

1

支持代理服務(wù)器

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

Proxy.Credentials = new NETworkCredential(UserName, Password)

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

2

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

3

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

4

由于服務(wù)器未發(fā)送文件大小,因此被動(dòng) FTP 文件傳輸總是將進(jìn)度百分比顯示為零。若要顯示進(jìn)度,可以通過(guò)重寫(xiě) GetWebRequest 虛擬方法來(lái)將 FTP 連接更改為活動(dòng)狀態(tài)。所以,我們?cè)赾lsFTP類中另外使用內(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的比較好用

AspNet技術(shù)asp.net 一個(gè)封裝比較完整的FTP類,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 日本丝袜护士 | 亚洲视频在线观看网站 | 国产亚洲福利在线视频 | 老湿机一区午夜精品免费福利 | 久久精品麻豆国产天美传媒果冻 | 爽娇妻快高h | 三级黄在线 | 国产精品国产三级国产专区53 | 亚洲第一成年人网站 | 亚洲精品第二页 | 九九精品视频在线播放 | 香蕉久久日日躁夜夜嗓 | 国产AV无码成人黄网站免费 | 秋霞电影院兔费理论84MB | 在线日韩欧美一区二区三区 | 91免费网站在线看入口黄 | 秋霞电影网午夜鲁丝片无码 | 色欲AV久久综合人妻蜜桃 | 99re5久久热在线 | 午夜4k最新福利 | 暖暖免费观看日本在线视频 | 99精品免费久久久久久久久日本 | 国产精品一区二区四区 | 国产欧美在线亚洲一区刘亦菲 | jjzzz日本| 黄色毛片a | 处女座历史名人 | 东京热影院 | 亚洲福利天堂网福利在线观看 | 欧美日韩亚洲综合2019 | 青青草A在在观免费线观看 青青草AV国产精品 青青草 久久久 | 果冻传媒最新视频在线观看 | 性做久久久久免费观看 | 狠狠婷婷综合久久久久久 | 国产成人免费观看在线视频 | 蜜芽国产在线精品欧美 | 亚洲AV國產国产久青草 | 欧美一区二区三区播放 | 欧美亚洲视频在线二区 | 岛国精品在线观看 | 97超碰97资源在线观看 |