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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女网站免费久久久久久久 | 午夜伦理在线观看 | 99在线观看 | 精品性影院一区二区三区内射 | 野花高清在线观看免费3中文 | 白洁在线观看 | 中文字幕在线观看国产 | 2021久久最新国产精品 | 妹妹的第一次有点紧 | 超碰caoporn| 精品国产乱码久久久久久上海公司 | 国语对白刺激真实精品 | 我要干av | 最新在线黄色网址 | 耻辱の奴隷淑女中文字幕 | 国产99视频精品免费播放 | 国产福利不卡在线视频 | 撕烂衣服扒开胸罩揉爆胸 | 99热这里只有精品视频2 | 久久热这里面只有精品 | 一级大乳奶 | 寂寞骚妇女被后入式抽插 | 恋夜影视列表免费安卓手机版 | 国产在线aaa片一区二区99 | 色狗综合网 | 超碰国产亚洲人人 | 欧美另类老少配hd | 亚洲成AV人片一区二区不卡 | 小SAO货水真多把你CAO烂 | 欧美日韩黄色 | 思思re热免费精品视频66 | 儿子日母亲B好爽 | 99视频精品全部免费观看 | 日本视频中文字幕一区二区 | 国产精品久久久久久久人人看 | 久久视频这只精品99re6 | 久久99精品视频 | 97无码欧美熟妇人妻蜜 | 亚洲男人天堂2018av | 精品国产成人a区在线观看 精品国产成人AV在线看 | 日韩在线av免费视久久 |