09-10-16, 05:02 AM
هذه دالة تقرأ حجم الملف (طبعا قبل تنزيل الملف)
وهذه دالة تحول الرقم الطويل إلى الصيغة المتعارف عليها مثل Bytes وKB وMB وGB وTB
وهذه طريقة استعمال الدالتين طبقتها على ملف كبير حجمه ( 3965825024Bytes ) يعني يساوي ( 3.97GB )
الدالتين ليست من عندي ولكن عدلت عليها
PHP كود :
public long GetFileSize(string url) {
using (System.Net.WebClient wc = new System.Net.WebClient()) {
using (System.IO.Stream s = wc.OpenRead(url)) {
return long.Parse(wc.ResponseHeaders["Content-Length"].ToString());
}
}
}
وهذه دالة تحول الرقم الطويل إلى الصيغة المتعارف عليها مثل Bytes وKB وMB وGB وTB
PHP كود :
public string FormatBytes(double length) {
double DoubleBytes = 0;
if (length >= 1099511627776L) { //TB
DoubleBytes = length / 1099511627776L;
return (DoubleBytes).ToString("#0.##") + " TB";
} else if (length >= 1073741824) { //GB
DoubleBytes = length / 1073741824;
return (DoubleBytes).ToString("#0.##") + " GB";
} else if (length >= 1048576) { //MB
DoubleBytes = length / 1048576;
return (DoubleBytes).ToString("#0.##") + " MB";
} else if (length >= 1024) { //KB
DoubleBytes = length / 1024;
return (DoubleBytes).ToString("#0.##") + " KB";
} else { // bytes
DoubleBytes = length;
return (DoubleBytes).ToString("#0.##") + " bytes";
}
}
وهذه طريقة استعمال الدالتين طبقتها على ملف كبير حجمه ( 3965825024Bytes ) يعني يساوي ( 3.97GB )
PHP كود :
string url = "https://download.microsoft.com/download/0/B/C/0BC321A4-013F-479C-84E6-4A2F90B11269/vs2015.com_enu.iso";
long length = GetFileSize(url);
MessageBox.Show(FormatBytes(length));
الدالتين ليست من عندي ولكن عدلت عليها


