2013-02-21 151 views
1
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("request_uri_string"); 
FileStream fileStream = new FileStream("path_to_my_file", FileMode.Open, FileAccess.Read); 
Stream requestStream = request.GetRequestStream(); 
byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)fileStream.Length))]; 
int bytesRead = 1; 
while (bytesRead != 0) 
{ 
    bytesRead = fileStream.Read(buffer, 0, buffer.Length); 
    if (bytesRead > 0) 
    { 
     requestStream.Write(buffer, 0, bytesRead); 
    } 
} 
request.Close(); 
fileStream .Close(); 

目前我正在使用上面的代碼。如何在c#上快速上傳服務器上的文件

有沒有其他方法比這更好(意思是FAST)?

回答

5

不知道這是快,但很多更具可讀性:

using (var webClient = new WebClient()) 
{ 
    webClient.DownloadFile(remoteFileUrl, localFileName); 
} 

編輯:

由於WebClientIDisposable,應當妥善處置(我加using)。

MSDN說:

此方法使用RETR命令下載FTP資源。對於 HTTP資源,使用GET方法。

相關問題