تا %60 تخفیف خرید برای 3 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

نمونه کد برای دانلود فایل با قابلیت Resume در سی شارپ

در این نکته قصد دارم نمونه کدی خدمت شما دوستان ITPRO معرفی کنم که قابلیت دانلود فایل با قابلیت Resume را به شما می دهد. نمونه کدی که برای شما قرار می دهم یک متد است که دو پارامتر به عنوان ورودی ایجاد می کند، یکی آدرس فایل دانلودی و دیگری مسیر فایل جهت دانلود:

public static void DownloadFile(string sourceUrl, string destinationPath)
{            
    int bufferSize = 1024;
    bufferSize *= 1000;
    long existLen = 0;
    System.IO.FileStream saveFileStream;
    if (System.IO.File.Exists(destinationPath))
    {
        System.IO.FileInfo fINfo =
            new System.IO.FileInfo(destinationPath);
        existLen = fINfo.Length;
    }
    if (existLen > 0)
        saveFileStream = new System.IO.FileStream(destinationPath,
            System.IO.FileMode.Append, System.IO.FileAccess.Write,
            System.IO.FileShare.ReadWrite);
    else
        saveFileStream = new System.IO.FileStream(destinationPath,
            System.IO.FileMode.Create, System.IO.FileAccess.Write,
            System.IO.FileShare.ReadWrite);

    var hwRq = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(sourceUrl);
    hwRq.AddRange((int)existLen);
    var hwRes = (System.Net.HttpWebResponse)hwRq.GetResponse();
    var smRespStream = hwRes.GetResponseStream();

//            var fileSize = hwRes.ContentLength;

    int iByteSize;
    byte[] downBuffer = new byte[bufferSize];

    while (smRespStream != null && (iByteSize = smRespStream.Read(downBuffer, 0, downBuffer.Length)) > 0)
    {
        saveFileStream.Write(downBuffer, 0, iByteSize);
    }
}

در صورتی که بخواهید می توانید بوسیله متغیر fileSize که در کد بالا به صورت comment قرار گرفته حجم فایلی که قرار است دانلود شود را نیز بدست آورید. امیدوارم که این نکته مورد استفاده دوستان قرار بگیرد. ITPRO باشید

نویسنده: حسین احمدی

منبع: ITPRO

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند