2013-02-21 5 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(); 

현재 위의 코드를 사용하고 있습니다.빠른 방법으로 서버에 파일을 업로드하는 방법

이보다 다른 방법이 더 낫습니다 (FAST를 의미합니까)? 확인

답변

5

하지 않음이 빠르지 만 더 많은 읽을 수 :

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

편집 : WebClient 이후

IDisposable입니다 제대로 배치해야한다 (I 추가 using).

MSDN 말한다 :

이 방법은 FTP 리소스를 다운로드 할 RETR 명령을 사용합니다. HTTP 리소스의 경우 GET 메서드가 사용됩니다. 여기

0

은 웹 클라이언트에 대한 모든 방법입니다 : http://msdn.microsoft.com/en-us/library/ekfaaeay.aspx

당신은 비동기, 아니면 그냥 일반 작업을 수행 할 것인지 여부를 결정할 수 있습니다. URI와 일반 문자열 경로 둘 다에 대해 DownloadFile에 대한 몇 가지 노출 된 메서드가 있습니다.

관련 문제