파일을 다운로드하는 프로그램을 만들고 있지만 파일의 첫 번째 절반 만 다운로드하고 싶습니다. C#에서이 작업을 수행 할 수있는 방법이 있는지 궁금합니다.다운로드를 반으로 나누는 방법
파일의 첫 번째 부분 만 다운로드하는 다운로드 관리자 용입니다. 또한 후반 (가능한 경우)으로 다운로드를 계속하려면 코드가 필요합니다.
파일을 다운로드하는 프로그램을 만들고 있지만 파일의 첫 번째 절반 만 다운로드하고 싶습니다. C#에서이 작업을 수행 할 수있는 방법이 있는지 궁금합니다.다운로드를 반으로 나누는 방법
파일의 첫 번째 부분 만 다운로드하는 다운로드 관리자 용입니다. 또한 후반 (가능한 경우)으로 다운로드를 계속하려면 코드가 필요합니다.
당신은 WebRequest 클래스와 WebResponse를를 사용하고 ContentLength 헤더 필드
private void DownloadFile(string someUrl)
{
byte[] result;
byte[] buffer = new byte[4096];
WebRequest wr = WebRequest.Create(someUrl);
using (WebResponse response = wr.GetResponse())
{
long contentLentgth = response.ContentLength;
using (Stream responseStream = response.GetResponseStream())
{
using (MemoryStream ms = new MemoryStream())
{
int count = 0;
long totalBytes = 0;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
totalBytes = totalBytes + count;
ms.Write(buffer, 0, count);
using (FileStream file = new FileStream("file.bin", FileMode.Create, System.IO.FileAccess.Write))
{
byte[] bytes = new byte[ms.Length];
ms.Read(bytes, 0, (int)ms.Length);
file.Write(bytes, 0, bytes.Length);
ms.Close();
}
if (totalBytes>contentLentgth/2)
{
break;
}
} while (count != 0);
}
}
}
}
나는 당신이 당신의 HTTP 요청
의 몸을받을 스트림 ( HTTP 내가 가정을 통해) 사용할 수있는 생각과 길이를 확인하실 수 있습니다
왜 U 것 오직 파일의 50 %를 다운로드하고 싶습니까? – Jim
Im 다운로드 관리자를 만드는 중, 그냥 묻지 마라 .... 설명하기가 어렵다. – user3185674