Progress Bar

itskvol

New member
Progress Bar

הי האם מישהו יודע איך או מכיר איך אפשר לעשות Progress Bar כאשר אני מעלה קובץ? לא מצאתי בשום מקום אזכור לזה למעט תוכנה אחת ASPUPLOAD אבל ה Progress Bar שלה הוא רק ב POPUP לא הצלחתי לשים אותו במסמך (בדף הטופס) בצורת IFRAME . אשמח לתשובה תודה לכולם
 

pitoach

New member
אני יכול להסביר כיצד אני פתחתי כזה ../images/Emo13.gif

אני לא מכיר תוכנות של אחרים פרט לקוד קטן ב FLEX (שתרגמתי והוספתי לו אפשרויות של שימוש בשפות רבות) שאתה יכול להוריד באינטרנט. http://www.codeproject.com/KB/aspnet/FlashUpload.aspx הייתרון של עבודה עם פלש מאפשרת הרבה דברים נוספים כמו למשל הורדה של מספר רב של רבצים ביחד (בחירה מרובה של קבצים בחלון של בחירה הקובץ). אני מאוד ממליץ על השימוש ב FLEX ועל הקישור הנ"ל אפשרות נוספת: כמו כן יש מובנה ב JQUERY משהו כזה (חפש בגוגל באתר שלהם) והאפשרות הנוספת: בכל מקרה אם אתה רוצה לפתח לבד אז הרעיון לא מורכב יותר מדי: 1. יש להכין פונקצייה אגקס פשוטה המופעלת כל X זמן (למשל כל שניה אחת) 2. הפונקציה צריכה לקבל כמובן את הערך של שם הקובץ ולגשת לשרת לעמוד בו יבוצע בצד השרת בדיקה של גודל הקובץ הנוכחי (כמובן לבדוק קודם שהקובץ נוצר). 3. בצד שרת עבודה עם מחלקת IO ותמצא את הגודל של הקובץ.הקובץ בזמן היצירה שלו נעול לעבודה אבל עדיין אפשר לקבל את הגודל שלו 4. להחזיר את הנתון לעמוד הראשי ובפונקציה לחשב את האחוז ולהציג בהתאם את תמונת הגרף (למשל פשוט שימוש בתמונה של פיקסל על פיקסל ולקבוע את האורך לפי האחוז שקיבלת) כמה נקודות אם פעלת בדרך זו: - יש להקפיד על עבודה א-סינכרונית כמובן באגקס - יש לקבוע זמן של ההמתנה לתשובה שלא עלה על הזמן שבין ההפעלות של הפונקציה (אסור שתהיה חפיפה) - אסור לפנות לשרת מהר מדי (שניה נראה לי הזמן הכי קטן שסביר) ונסה להקטין כמה שאתה יכול כל עבודה בצד השרת כי הנתון חייב לחזור מהר לפני שהוא כבר לא רלוונטי
 

itskvol

New member
תודה רבה

בקשר ל FLEX זה לא כ"כ טוב כי יש לי עוד שדות FORM שאני צריך לשלוח עם הטופס AJAX נראה לי טוב למרות שאם אני עושה SUBMIT אז יצאתי מהדף כביכול... (אני אבדוק את זה) בקשר ל JQUERY ראיתי אבל תהליך הולך עם PHP (פרטים שהוא מחזיר) ואני לא מבין PHP לא הבנתי כ"כ את הקוד תודה בכל מקרה :) תודה על הרעיונות
 

itskvol

New member
בעיה עם עבודה בAJAX

הבעיה היא שאם אני עובד עם AJAX והקובץ מתחיל לעלות אני לא יודע את הגודל הסופי של הקובץ כך שאני לא יכול לדעת כמה רחוזים עוד נשאר... או שאני כן יכול לדעת את הגודל הסופי של הקובץ (לפני שהוא עלה לשרת כמובן :)) אשמח לתשובה
 

pitoach

New member
שאלה יפה ../images/Emo13.gif

לפני כמה ימים היה דיון בנושא זה בפורום דוטנט והגבתי שם בתשובה מעמיקה יותר. אז אתה מוזמן לחפש שם... בינתיים אבל בוא ננסה לדלג על המכשול שאינו בעיה גדולה (אכן מהווה מכשול) הערה: JQERY לא קשור ל PHP והוא כולו בסך הכל קוד JS. כל מה שמדגימים עם PHP אתה יכול לעשות בכל שפת צד שרת כמו C# למשל. ועוד מילה לפני שנחזור לבעיה שלנו: אני ושב אומר שבמקרה הנוכחי של העלאת קבצים אני ממליתץ על שימוש בפלש. זה נושא מורכב לפיתוח בלי רכיבי צד שלישי לצד הלקוח (בעזרתם זה ממש קל... למשל עם פלש כאמור או עם אובייקט ActiveX) אז נחזור לעניין שלנו: בדרך כלל לא חייבים להמתין עד לסיום העלאת קובץ כדי לדעת את גודל הקובץ. אם אתה זוכר כשאתה מוריד קבצים רשום לך כמה ירד מתוך כמה. ז"א הדפדפן זיהה את גודל הקובץ עוד לפני שסיים את ההורדה. נכון? אותו דבר קוראה בהעלאה. ישנם נתונים רבים שמועברים בכותרים בצורה נסתרת ובינהן גם גודל הContentLength בדוק את הקישור הבא: http://msdn.microsoft.com/en-us/library/system.web.httpworkerrequest.headercontentlength.aspx ושוב גם את בדיקה זו אפשר לבצע ברקע באגקס... * לסיום: אין קשר לכמה שדות יש לך בטופס ואתה יכול לעבוד עם פלש. תמיד אתה יכול לבצע את העלאת הקבצים בנפרד מהקובץ הראשי גם או ביחד... קובץ הפלד שהבאתי קישור אליו מכיל אפשרות של המשך עבודה עם הטופס... קרא עליו בגוגל כמה שיותר (העלאת הקבצים מבוצעת בנפרד אבל הנתונים עושים שימוש בטופס שנשלח אחר כך למשל) **JQUERY עם PHP במבצע את מה שכתבתי מעל ברעיון כללי של בדיקת הגודל בכותרים ושימוש באגקס (פשוט מישהו כתב לך את כל הבאלגן כדי שלך יהיה קל יותר)הנחה שאנחנו מדברים על אותה דוגמה
 
למעלה