介紹
微軟 framework
背景
作為我的工作的一部分
代碼
不要忘記引入命名空間
using System
using System
下面的幾個步驟包括了使用FtpWebRequest類實現ftp功能的一般過程
開發任何ftp應用程序都需要一個相關的ftp服務器及它的配置信息
接下來的代碼示例了上傳功能
首先設置一個uri地址
然後根據ftp請求設置FtpWebRequest對象的屬性
其中一些重要的屬性如下
·Credentials
·KeepAlive
·UseBinary
·UsePassive
·ContentLength
·Method
private void Upload(string filename)
{
FileInfo fileInf = new FileInfo(filename);
string uri =
FtpWebRequest reqFTP;
// 根據uri創建FtpWebRequest對象
reqFTP = (FtpWebRequest)FtpWebRequest
// ftp用戶名和密碼
reqFTP
// 默認為true
// 在一個命令之後被執行
reqFTP
// 指定執行什麼命令
reqFTP
// 指定數據傳輸類型
reqFTP
// 上傳文件時通知服務器文件的大小
reqFTP
// 緩沖大小設置為
int buffLength =
byte[] buff = new byte[buffLength];
int contentLen;
// 打開一個文件流 (System
FileStream fs = fileInf
try
{
// 把上傳的文件寫入流
Stream strm = reqFTP
// 每次讀文件流的
contentLen = fs
// 流內容沒有結束
while (contentLen !=
{
// 把內容從file stream 寫入 upload stream
strm
contentLen = fs
}
// 關閉兩個流
strm
fs
}
catch (Exception ex)
{
MessageBox
}
}
以上代碼簡單的示例了ftp的上傳功能
打開本地機器上的文件
private void Download(string filePath
{
FtpWebRequest reqFTP;
try
{
FileStream outputStream = new FileStream(filePath +
reqFTP = (FtpWebRequest)FtpWebRequest
reqFTP
reqFTP
reqFTP
FtpWebResponse response = (FtpWebResponse)reqFTP
Stream ftpStream = response
long cl = response
int bufferSize =
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream
while (readCount >
{
outputStream
readCount = ftpStream
}
ftpStream
outputStream
response
}
catch (Exception ex)
{
MessageBox
}
}
上面的代碼實現了從ftp服務器上下載文件的功能
注意
public string[] GetFileList()
{
string[] downloadFiles;
StringBuilder result = new StringBuilder();
FtpWebRequest reqFTP;
try
{
reqFTP = (FtpWebRequest)FtpWebRequest
reqFTP
reqFTP
reqFTP
WebResponse response = reqFTP
StreamReader reader = new StreamReader(response
string line = reader
while (line != null)
{
result
result
line = reader
}
// to remove the trailing
result
reader
response
return result
}
catch (Exception ex)
{
System
downloadFiles = null;
return downloadFiles;
}
}
上面的代碼示例了如何從ftp服務器上獲得文件列表
其他的實現如Rename
注意
需要注意的地方
你在編碼時需要注意以下幾點
·除非EnableSsl屬性被設置成true
·如果你沒有訪問ftp服務器的權限
·發送請求到ftp服務器需要調用GetResponse方法
From:http://tw.wingwit.com/Article/program/net/201311/13720.html