string oldname = this.FileUpload1.PostedFile.FileName; string newname = dd + h + mm + ss + oldname.Substring( " /> 国产人妻777人伦精品HD,好大好硬好湿再深一点网站,日韩一区二区三区精品

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

asp.net 一個封裝比較完整的FTP類

先看這個簡單的
復制代碼 代碼如下:
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鏈接

ü         支持代理

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

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

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

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

ü         上傳文件的進度百分比

ü         下載文件的進度白分比

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

ü         目錄或文件存在的判斷

ü         刪除文件

ü         重命名文件、目錄

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

ü         建立、刪除目錄

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

 

公共構造函數

名稱

說明

clsFTP()

初始化clsFtp類的新實例

clsFTP(Uri FtpUri, string strUserName, string strPassword)

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

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

由FTP地址、FTP登錄用戶信息、FTP登錄用戶密碼、代理服務器對象初始化clsFtp類的新實例

 

 

 

 

公共屬性

名稱

說明

Uri

獲取或設置FTP服務器地址

DirectoryPath

獲取當前工作目錄

UserName

獲取或設置FTP登錄用戶

Password

獲取或設置FTP登錄密碼

Proxy

獲取或設置連接FTP服務器的代理服務

ErrorMsg

獲取操在返回的錯誤信息

 

 

公共方法

名稱

說明

DownloadFile(string RemoteFileName, string LocalPath)

從FTP服務器下載文件,使用與遠程文件同名的文件名來保存文件。

參數說明:

RemoteFileName: 遠程文件名

LocalPath: 本地路徑

DownloadFile(string RemoteFileName, string LocalPath, string LocalFileName)

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

參數說明:

LocalPath: 本地路徑

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

LocalFileName: 保存本地的文件名

DownloadFile(string RemoteFileName)

從FTP服務器下載文件,返回文件二進制數據。

參數說明:

RemoteFileName: 遠程文件名

DownloadFileAsync(string RemoteFileName, string LocalPath, string LocalFileName)

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

參數說明:

RemoteFileName: 遠程文件名       

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

LocalFileName: 保存本地的文件名

DownloadFileAsync(string RemoteFileName, string LocalFullPath)

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

參數說明:

RemoteFileName: 遠程文件名

LocalFullPath: 本地完整路徑文件名

UploadFile(string LocalFullPath)

上傳文件到FTP服務器

參數說明:

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

UploadFile(string LocalFullPath, bool OverWriteRemoteFile)

上傳文件到FTP服務器

參數說明:

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

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

UploadFile(string LocalFullPath, string RemoteFileName)

上傳文件到FTP服務器

參數說明:

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

RemoteFileName: 要在FTP服務器上面保存文件名

UploadFile(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

上傳文件到FTP服務器

參數說明:

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

RemoteFileName: 要在FTP服務器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

UploadFile(byte[] FileBytes, string RemoteFileName)

上傳文件到FTP服務器

參數說明:

FileBytes: 上傳的二進制數據

RemoteFileName: 要在FTP服務器上面保存文件名

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

上傳文件到FTP服務器

參數說明:

FileBytes: 文件二進制內容

RemoteFileName: 要在FTP服務器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

UploadFileAsync(string LocalFullPath)

異步上傳文件到FTP服務器

參數說明:

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

UploadFileAsync(string LocalFullPath, bool OverWriteRemoteFile)

異步上傳文件到FTP服務器

參數說明:

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

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

UploadFileAsync(string LocalFullPath, string RemoteFileName)

異步上傳文件到FTP服務器

參數說明:

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

RemoteFileName: 要在FTP服務器上面保存文件名

UploadFileAsync(string LocalFullPath, string RemoteFileName, bool OverWriteRemoteFile)

異步上傳文件到FTP服務器

參數說明:

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

RemoteFileName: 要在FTP服務器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

UploadFileAsync(byte[] FileBytes, string RemoteFileName)

異步上傳文件到FTP服務器

參數說明:

FileBytes: 上傳的二進制數據

RemoteFileName: 要在FTP服務器上面保存文件名

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

異步上傳文件到FTP服務器

參數說明:

FileBytes: 文件二進制內容

RemoteFileName: 要在FTP服務器上面保存文件名

OverWriteRemoteFile: 是否覆蓋遠程服務器上面同名的文件

ListFilesAndDirectories()

列出FTP服務器上面當前目錄的所有文件和目錄。

ListFiles()

列出FTP服務器上面當前目錄的所有文件。

ListDirectories()

列出FTP服務器上面當前目錄的所有的目錄。

DirectoryExist(string RemoteDirectoryName)

判斷當前目錄下指定的子目錄是否存在。

參數說明:

RemoteDirectoryName: 指定的目錄名

FileExist(string RemoteFileName)

判斷一個遠程文件是否存在服務器當前目錄下面。

參數說明:

RemoteFileName: 遠程文件名

DeleteFile(string RemoteFileName)

從FTP服務器上面刪除一個文件。

參數說明:

RemoteFileName: 遠程文件名

ReName(string RemoteFileName, string NewFileName)

更改一個文件的名稱或一個目錄的名稱。

參數說明:

RemoteFileName: 原始文件或目錄名稱

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

CopyFileToAnotherDirectory(string RemoteFile, string DirectoryName)

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

參數說明:

RemoteFile: 當前目錄下的文件名

DirectoryName: 新目錄名稱。

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

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

MoveFileToAnotherDirectory(string RemoteFile, string DirectoryName)

把當前目錄下面的一個文件移動服務器上面另外的目錄中,注意,移動文件之后,當前工作目錄還是文件原來所在的目錄。

參數說明:

RemoteFile: 當前目錄下的文件名

DirectoryName: 新目錄名稱。

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

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

MakeDirectory(string DirectoryName)

在FTP服務器上當前工作目錄建立一個子目錄。

參數說明:

DirectoryName: 子目錄名稱

RemoveDirectory(string DirectoryName)

從當前工作目錄中刪除一個子目錄。

參數說明:

DirectoryName: 子目錄名稱

IsValidPathChars(string DirectoryName)

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

參數說明:

DirectoryName: 目錄名稱

IsValidFileChars(string FileName)

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

參數說明:

FileName: 文件名稱

GotoDirectory(string DirectoryName)

進入一個目錄。

參數說明:

DirectoryName:

 新目錄的名字。

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

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

EnterOneSubDirectory(string DirectoryName)

從當前工作目錄進入一個子目錄。

參數說明:

DirectoryName: 子目錄名稱

ComeoutDirectory()

從當前工作目錄往上一級目錄。

 

 

 

公共事件

名稱

說明

DownloadProgressChanged

異步下載進度發生改變觸發的事件

DownloadDataCompleted

異步下載文件完成之后觸發的事件

UploadProgressChanged

異步上傳進度發生改變觸發的事件

UploadFileCompleted

異步上傳文件完成之后觸發的事件

 

 

 

其他說明

序號

說明

1

支持代理服務器

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

Proxy.Credentials = new NETworkCredential(UserName, Password)

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

2

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

3

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

4

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

 

5

在列出文件和目錄的時候,clsFTP類區分出了所獲得的響應數據哪些是文件,哪些是目錄。同時,考慮到了FTP服務器上面目錄樣式為MS DOS和UNIX兩種表現形式的不同。

6

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

 

 

 

 

打包下載 discuz的比較好用

AspNet技術asp.net 一個封裝比較完整的FTP類,轉載需保留來源!

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

主站蜘蛛池模板: 打扑克床上视频不用下载免费观看 | 国产超碰精久久久久久无码AV | 成人天堂资源WWW在线 | 男人插曲女人下生免费大全 | 亚洲精品午睡沙发系列 | 国产日韩精品一区二区在线观看 | 久久精品电影 | 在线a视频 | 被强J高H纯肉公交车啊 | 麻豆蜜桃国语精品无码视频 | 欧美乱妇狂野欧美在线视频 | 波多野结衣 无码片 | 他揉捏她两乳不停呻吟口述 | 亚洲AV无码偷拍在线观看 | 色-情-伦-理一区二区三区 | 亚洲色欲国产免费视频 | 免费看国产曰批40分钟 | 成人网站国产在线视频内射视频 | 鬼灭之刃花街篇免费樱花动漫 | 果冻传媒在线观看进入窗口 | 亚洲日韩在线天堂一 | 亚洲人成伊人成综合网久久久 | 内射无码AV-区二区在线观看 | 欧美精品高清在线观看 | 国产手机在线精品 | 中文字幕本庄优花喂奶 | yellow在线观看免费观看大全 | 日本特交大片免费观看 | 欧美高清vivoesosexo10 | 99久久中文字幕伊人情人 | 国产精品人妻在线观看 | 国产区免费在线观看 | www黄色大片 | 国产成人综合在线 | 久久精品亚洲AV高清网站性色 | 男女久久久国产一区二区三区 | 厕所xxxxx| 狠狠色狠狠色综合日日2019 | 蜜臀AV精品久久无码99 | 夜色福利院在线观看免费 | 午夜神器18以下不能进免费 |