string oldname = this.FileUpload1.PostedFile.FileName; string newname = dd + h + mm + ss + oldname.Substring( " /> 日韩一区二区三区四区区区,黄色免费的网站,中文字幕在线观看你懂的

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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類,轉載需保留來源!

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

主站蜘蛛池模板: 亚洲美女在线视频 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片99 | 加勒比东洋精品映画防屏蔽 | 亚洲综合一区二区三区四区 | 91视频国产一区 | 国产色视频一区二区三区 | 一区视频在线播放 | 91新网址| 四虎4hu亚洲精品 | 日本乱人伦片中文字幕三区 | 亚洲午夜视频在线观看 | 亚洲一区日韩一区欧美一区a | 女人18毛片免费视频播放 | 日韩欧美激情视频 | 国产精品19禁在线观看2021 | 日日噜噜夜夜狠狠tv视频免费 | 欧美激情视频免费 | 免费看的www视频网站视频 | 国产一区福利 | 久久精品久久久久 | 尹人久久大香找蕉综合影院 | 久久国产自偷自偷免 | 国产成人亚洲精品91专区手机 | 成人嗯啊视频在线观看 | 亚洲丝袜中文字幕 | 亚洲福利视频网址 | 精品日韩欧美一区二区三区 | 国产视频2021 | 久久精品亚洲精品国产色婷 | 黄篇网站在线观看 | 黄色在线观看视频 | 五月婷在线 | 欧美在线视频在线观看 | 国产精品嫩草影院免费看 | 黄色网址免费在线播放 | 亚洲一区播放 | 成人国产激情福利久久精品 | 91一区二区午夜免费福利网站 | 综合视频在线 | 免费一区二区视频 | 岛国美女全棵写真视频在线观看 |