سورس دانلود فایل به زبان سی شارپ – download file using c#
در این پست می خواهیم نحوه دانلود فایل در سی شارپ را آموزش دهیم. برای دانلود فایل در C# می توان از کلاس Webclient برای دانلود فایل استفاده کرد. برای بدست آورد سرعت دانلود از کلاس Stopwatch استفاده می کنیم. برای مشاهده کد و توضیحات به ادامه مطلب مراجعه فرمایید.
{// Calculate download speed and output it to labelSpeed.
lblspeed.Text = string.Format(“{0} kb/s”, (e.BytesReceived / 1024d / sw.Elapsed.TotalSeconds).ToString(“0.00”));
// Update the progressbar percentage only when the value is not the same.
progressBar1.Value = e.ProgressPercentage;// Show the percentage on our label.
lblper.Text = e.ProgressPercentage.ToString() + “%”;// Update the label with how much data have been downloaded so far and the total size of the file we are currently downloading
lblsize.Text = string.Format(“{0} MB’s / {1} MB’s”,
(e.BytesReceived / 1024d / 1024d).ToString(“0.00”),
(e.TotalBytesToReceive / 1024d / 1024d).ToString(“0.00”));}
public void DownloadFile(string urlAddress, string location)
{
using (client = new WebClient())
{
client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);// The variable that will be holding the url address (making sure it starts with http://)
Uri URL = urlAddress.StartsWith(“http://”, StringComparison.OrdinalIgnoreCase) ? new Uri(urlAddress) : new Uri(“http://” + urlAddress);// Start the stopwatch which we will be using to calculate the download speed
sw.Start();try
{
// Start downloading the file
client.DownloadFileAsync(URL, location);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
برای اجرای کد بالا باید یک button و سه label به نام های lblspeed ، lblsize و lblper بترتیب برای مشاهده حجم فایل دانلود شده ، سرعت دانلود و درصد و همچنین یک progressbar به نام progressBar1 لازم است.
در رویداد کلیک button تابع DownloadFile را به شکل زیر فراخوانی کنید.
مسیر ذخیره سازی باید شامل نام فایل و پسوند آن باشد. مثل : E:\Book.pdf
شما می توانید سوالات خود را از طریق ارسال نظر برای ما ارسال کنید تا در حداقل زمان ممکن بتوانیم راهنمایی تان کنیم.
برای درخواست انجام پروژه C# و دیگر زبان ها به بخش Project.Iranidata.com مراجعه فرمایید.
نوشته شده توسط کاظم صادقی فیروزجاه