שלח תשובה

זירת השאלות

491
צפיות
12
תשובות

למנהלי הפורום ולכל אחד שיוכל לעזור

,‏ 15 בספטמבר, 2006

אני חושב שמוגזם לא לענות למישהו ששאל את אותה שאלה 3 פעמים כדי שיענו לו ואף אחד לא התיחס לשאלות,  וזאת הפעם הרביעית שאני  שואל אותה שאלה בתקווה שמישהו יענה

שאלה 1

העלאת קבצים ביחד עם טופס,
אחרי שהגדרתי את ה CODEPAGE לעברית לאוביקט העאלת הקבצים,


ברגע שאני מעלה קובץ ושמו כתוב בעברית
מה שקורה,  הוא מעלה את שמו הכתוב בעברית לבסיס נתונים והכל בסדר

אבל השם שלו בשרת הפך להיות סימני שאלה.

השאלההיא :  השמות של הקובצים חייבות להיות רק באנגלית?


לפני שהגדרתי את ה CODEPAGE לעברית הייתי מעלה את הקובץ עם שם בעברית
מה הפתרון?


שאלה 2

איך אפשר לדעת את שם הקובץ בלי שהמשתמש ירשום את שם הקובץ לבסיס נתונים?
כלומר כאשר  אני מעלה קובץ , באותה רגע הטופס יוסיף לבד את שם של הקובץ.


שאלה 3

איך אני שומר את  הנתיב של הקובץ שאני מעלה בבסיס נתונים, כלומר באיזו דרך?
האם אפשר אוטומטית, שיזה את הנתיב לבד?
אפשר דוגמא

תודה

תגיות:

12 תשובות

  1. זהר פלד הגיב:

    לכל השאלות האלו יש תשובה פשוטה אחת:
    לא לסמוך לעולם על שם הקובץ כמו שהוא מופיע אצל המשתמש, אלא להשתמש ב saveAs ולייצר את שם הקובץ בעצמך.

  2. JUBRANO הגיב:

    אפשר לפרט
    אפשר לפרט את תשובתך

    ולפרט את התשובות לגבי כל שאלה  עדיף וקל להבנה

    תודה

  3. זהר פלד הגיב:

    פירוט:
    לכל אובייקט להעלאת קבצים יש אופציה לשמור את הקובץ בשם המקורי שלו, ויש גם אופציה לשמור את הקובץ בשם שאתה בוחר.
    לחלקם אפילו יש אופציה לשמור את הקובץ בשם שהאובייקט עצמו מייצר.
    אם תסתכל על שמות קבצים שמועלים כאן לפורום, לדוגמא, תראה ששם הקובץ הוא תמיד מספר כלשהו. המתכנת שבנה את הפורום בחר לשמור את הקבצים שמצורפים להודעות בשם שיהיה זהה ל id של ההודעה.
    שמירה של קובץ בצורה כזו פותרת בעצם את כל הקונפליקטים שהעלת בשלושת השאלות שלך.

    לא ציינת עם איזה אובייקט upload אתה עובד, ולכן קצת קשה לתת לך דוגמאות רלוונטיות.

  4. JUBRANO הגיב:

    שם האוביקט
    ASPUPLOUD
    זה שם אוביקט העלאת הקבצים שמתמש בו

    אפשר דוגמא קטנה עכשו

    רק השאלה השלישית, איך היא קשורה ? לא הבנתי

  5. זהר פלד הגיב:

    הממ…
    אני קצת לחוץ בזמן כרגע, אז אני רק אתן לך לינק לרפרנס של האובייקט, למתודה save של האובייקט הראשי.
    השאלה השלישית קשורה בצורה מאוד פשוטה – ברגע שאתה בוחר איזה שם לתת לקובץ, מה הבעיה להכניס את השם הזה למסד הנתונים יחד עם שאר הנתונים של הקובץ?

  6. JUBRANO הגיב:

    תודה רבה, אבל אני חייב דוגמא
    תודה רבה זהר

    אבל אני צריך דוגמא  קטנה על איך שומרים את שם הקובץ בשלוש האופציות

    וגם באופציה ששומרת את הקובץ במספר כמו בפורום של וויבמאסטר

    וגם דוגמא שניה איך לקחת את שם הקובץ או את הנתיב ושם הקובץ ביחד
    (כאשר אני בוחר קובץ)  ושומר אותו בבסיס נתונים .

    תודה מראש

  7. זהר פלד הגיב:

    באתר הזה יש גם דוגמאות קוד
    תסתכל כאן, יש דוגמאת קוד לשמירה של קובץ לזכרון ושמירה לדיסק אח"כ.

  8. JUBRANO הגיב:

    הקובץ חייב לשמר בזיכרון קודם?
    לגבי שאלה 1

    הקובץ חייב לשמר בזיכרון קודם כאשר רוצים לשמור את הקובץ בשם אחר?

    האם ה SAVE  זה האופיה ששמור בשם הקובץ המקורי?

    וה SAVEAS זה שנותן לשמור בשם שאתה בוחר?

    מה השיטה שתאפשר לשמור בשם שהאוביק יוצר?

    לגבי שאלה 2

    הציטוט שלך:
    השאלה השלישית קשורה בצורה מאוד פשוטה – ברגע שאתה בוחר איזה שם לתת לקובץ, מה הבעיה להכניס את השם הזה למסד הנתונים יחד עם שאר הנתונים של הקובץ?

    אין לי מושג אך אפשר לעשות זאת?

  9. זהר פלד הגיב:

    ב aspupload,
    אתה חייב להשתמש ב save לפני שאתה בכלל יכול לגשת לפרמטרים שנשלחים לטופס. זה לא חייב להיות דוקא שמירה לזכרון, זה יכול להיות שמירה פיזית לדיסק, אבל בכל אופן, בלי לקרוא ל save לא תוכל להשתמש בתוכן של הטופס.

    ה saveAs מאפשר לך לשמור את הקבצים שנשמרו לזכרון פיזית על הדיסק. אתה יכול לבחור לשמור אותם בשם המקורי שבו הם נקראו אצל הלקוח, ע"י שימוש במאפיין originalFileName, או להשתמש באיזה שם שאתה רוצה, הבחירה היא שלך, אני ממליץ לא לסמוך על שמות הקבצים שבאים מהלקוח.

    לגבי איך להכניס את הנתיב למסד הנתונים, אז מה שבדרך כלל עושים, וזו גם הדרך הכי פשוטה, זה לשמור את כל הקבצים בתיקיה אחת (או בתתי תיקיות שלה), וכך כל מה שנשאר לשמור במסד הנתונים הוא בסך הכל שם הקובץ, או נתיב יחסי לתיקיה הזו.
    לדוגמא, באתר כלשהו שבניתי יש למנהל האתר אופציה להעלות תמונות וקבצים שונים למדורים שונים באתר. לכל מדור יש id ספציפי שלו, ואת הקבצים אני מעלה תמיד לתיקיה בשם data, שבתוכה אני יוצר, אם אין, תיקיה שהשם שלה הוא בעצם ה id של המדור, ובתוכה אני שומר את כל הקבצים של המדור הזה. במסד הנתונים כל מה שנשאר לי לשמור הוא שם הקובץ, כי את הנתיב אני כבר מקבל מה id של המדור.
    זו שיטה שאני משתמש בה המון בהעלאת קבצים, ועד היום היא הוכיחה את עצמה כיעילה ופשוטה כאחד.

  10. JUBRANO הגיב:

    מממ…
    אם אני רוצה להשתמש ב SAVEAS  חייב להיות  SAVE לפני ?  לא הבנתי הכוונה

    גם המשפט הזה לא הבנתי :
    אתה חייב להשתמש ב save לפני שאתה בכלל יכול לגשת לפרמטרים שנשלחים לטופס. זה לא חייב להיות דוקא שמירה לזכרון, זה יכול להיות שמירה פיזית לדיסק, אבל בכל אופן, בלי לקרוא ל save לא תוכל להשתמש בתוכן של הטופס.

    אני כבר יש לי טופס שמעלה את הקבצים לתקיה עם תיאור הקובץ וגם עם האפשרות שמנהל האתר חייב לעשות אותה היא שירשום את שם הקובץ בדיוק לפי השם המקורי
    כדי בדף ההורדה הקישור יהיה נכון

    בדך של ההעלאה אין חוץ מטופס אז אין אפשרות לעשות לפי משפר ההודעה נכון!

    מה אפשר לעשות בו?

  11. JUBRANO הגיב:

    אני משתמש
    אני משתמש ב SAVEVIRTUL וזה שומר אותו ישר לתקיה ללא צורך בשמירה בזכרון

    לא הבנתי למה יש צורך בשמירה בזכרון.

    ולמה יש צורך בלעשות SAVE  כאשר אני עושה SAVE AS , האם הכוונה כאשר עושים SAVE  זה שמירה לזכרון כי אני יודע אם אני עושה SAVE בלי לתת הנתיב לאן ישמר הקובץ אז זה נשמר בזכרון? נכון

שלח תשובה