PDA

View Full Version : سوال: دانلود فایل از وسط فایل



mshProgrammer
یک شنبه 17 اردیبهشت 1391, 09:26 صبح
سلام دوستان
من می خوام یه فایل رو با کد نویسی دانلود کنم ولی نمی خوام از اول دانلود بشه بلکه می خوام این فایل مثلا از وسطش شروع به دانلود شه یا از کیلو بایت 10000 به بعد
چطوری باید این کار رو بکنم؟

mshProgrammer
یک شنبه 17 اردیبهشت 1391, 21:14 عصر
کسی نمی دونه چه طور میشه این کار رو انجام داد؟
اصلا چنین کاری ممکن است یا نه؟

gsearch
دوشنبه 18 اردیبهشت 1391, 00:00 صبح
دوست عزیز
اگه با سوکت کار می کنی باید هدر Range (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)رو ست کنی.

اگه از HttpWebRequest استفاده می کنی، تابع HttpWebRequest.AddRange استفاده کن.
به msdn مراجعه کن، کامل توضیح داده.

اگه مشکلی بود بگو تا راهنماییت کنم.

mshProgrammer
دوشنبه 18 اردیبهشت 1391, 23:06 عصر
من با سوکت کار نمی کنم فقط می خوام فایل رو از توی اینترنت دانلود کنم
اگر میشه توضیحات بیشتری بدید

gsearch
سه شنبه 19 اردیبهشت 1391, 21:25 عصر
شما باید به تابع AddRange مکان مورد نظر از فایل رو بدی تا سرور فایل از اون بایت به بعد ارسال کنه.
یه چیزی شبیه این کد:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("your file address");
// اینجا به سرور میگی که از بایت 1000 فایل شروع به ارسال کنه
webRequest.AddRange(1000);

// کارای دیگه ای که باید انجام بدی

webResponse = (HttpWebResponse)webRequest.GetResponse();
Stream resStream = webResponse.GetResponseStream();

//دانلود و خواندن بایتهای ارسالی
Stream localStream = new MemoryStream();
byte[] buffer = new byte[1024];
while ((bytesSize = resStream.Read(buffer, 0, buffer.Length)) > 0)
{
localStream.Write(buffer, 0, bytesSize);
}


موفق باشی.

FastCode
سه شنبه 19 اردیبهشت 1391, 21:32 عصر
http://www.ietf.org/rfc/rfc2616.txt
صفحه 60