43 : 53 : 09
مانده تا پایان تخفیف
فقط تا آخر امروز
فقط امروز
حسین احمدی
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

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

در این نکته قصد دارم نمونه کدی خدمت شما دوستان توسینسو معرفی کنم که قابلیت دانلود فایل با قابلیت 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 قرار گرفته حجم فایلی که قرار است دانلود شود را نیز بدست آورید. امیدوارم که این نکته مورد استفاده دوستان قرار بگیرد. 


حسین احمدی

بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب

حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...

نظرات