منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يتم عرض حجم الكتاب قبل التحميل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
صممت موقع خاص بمكتبة اكترونية لتحميل وتنزيل الكتب من والي جهاز المستخدم  علما ان قاعدة بيانات تحتوي علي حقول التالية
id,name,conect type,date
اريد مساعدة كيف يتم عرض حجم الكتاب قبل التحميل باستخدلم لغة سي شارب
هذه دالة تقرأ حجم الملف (طبعا قبل تنزيل الملف)
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)); 

الدالتين ليست من عندي ولكن عدلت عليها
بارك الله فيك
لكن انا اعمل علي asp.net مش php
الكود الي مني #C وليس php.
وانت ما جبت سيرة asp في سؤالك.
انت طلبت تعرف حجم الملف قبل التحميل والكود هذه مهمته
الا اذا انت ما تدري في اي قسم تضع موضوعك فهذه مشكلتك.
عزيزي جوابك في اكواد الاخ محمد 911 الا اذا كنت تقصد قبل تحميل الملف الى الموقع الخاص بك فهذا يتم بالجافا سكربت ... اشرح التفاصيل جيدا حتى يتم مساعدتك افضل ..
بارك الله فيكم مرة تانية