2013-02-21 100 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方法。

相关问题