שלח תשובה

זירת השאלות

516
צפיות
46
תשובות

מחפש עזרה בasp עם upload

,‏ 10 ביוני, 2004

אוקי אז ככה…
אני עדיין לא עבדתי עם הפונקציה upload ככה שאני צריך קצת עזרה…

אני רוצה לשלוח מידע בטופס ככה שבשדה הראשון יכתבו את שם התמונה, ובשדה השני הגולשים יעלו תמונה…   כאשר התמונה תישמר איפה שאני אגדיר לה והשדה של השם ישמר בדטא בייס ביחד עם הכתובת של התמונה…
ככה למשל אם השם של התמונה יהיה "טלפון" והשם של התמונה שיעלו יקראו לה: phone.gif אז מה שהטופס יעשה זה שהוא ישמור את טלפון בתור השם ואת הכתובת:
http//www.mydomain.co.il/images/phone.gif בשדה של הכתובת בדטא בייס…
את הקטע של השמירה בדטא בייס אני עושה ללא בעיה כלל…  את הקטע של הupload אני קצת לא יודע איך עושים….

תודה למי שמסביר על הupload…

נ.ב. – אפשרי לקחת בשדה של קובץ גם את הקובץ וגם את השם שלו מצד אחר?

תודה לכולם!!!

תגיות:

46 תשובות

  1. BuildHome הגיב:

    רכיב..?
    עם איזה רכיב אתה עובד ?

    אתה מעוניין לדעת איך לבצע העלאת קבצים לשרת ?

  2. D-almighty הגיב:

    זה לא משנה לי
    השרת שלי עובד עם כל הרכיבים…
    תסביר לי על הרכיב שאתה מכיר…

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

    תודה מראש!

  3. BuildHome הגיב:

    דמו + קוד מקור
    הנה קוד שמבצע מה שאתה מעוניין ויש קישור להורדת הקוד מקור.

    http://support.persits.com/upload/demo2.asp

  4. D-almighty הגיב:

    תודה תודה!
    וואלה אחי תודה על העזרה!
    שניכם הבאתם לי אתרים טובים!

    ד"א, bh אתה יכול לדבר איתי באייסיקיו?  300315482

  5. MasterMind הגיב:

    יש לי שאלה שקשורה לנושא
    אני רוצה שהתמונה תעלה לשרת ותגם השם שלה יכנס למסד ככה
    http://the_host/images/1.jpg
    והשנייה תעלה
    http://the_host/images/2.jpg
    ז"א  שהשמות שלהם ישתנו למספרים !
    איך עושים את זה ??

  6. D-almighty הגיב:

    אוקי אז יש לי בעיה…
    בדרך שהבאתם לי אני חייב לכתוב נתיב מלא למיקום שאליו תגיע התמונה…
    אני לא יכול לכתוב לדוגמא רק
    /images

    המ אני עושה כדי לפתור את הבעיה?

  7. D-almighty הגיב:

    ניסיתי אבל
    אני אל כ"כ מבין בדברים האלה אז לא הצליח לי…
    בשורה שכותבים upload.save כתבתי ככה:

    Upload.Save server.mappath("/upload")

    המ אני צריך לעשות כדי שזה יעבוד?

  8. BuildHome הגיב:

    תשתמש ב-SaveAsVirtual
    הנה דוגמא:


    Upload.SaveAsVirtual "/Images/" & Upload.FileName

    Upload.FileName – שם הקובץ.

    אתה יכול לשמור את הקובץ בשם הרצוי לך, ככה:

    Upload.SaveAsVirtual "/Images/1.jpg"

  9. BuildHome הגיב:

    לא יצא קוד..הנה הקוד


    Upload.SaveAsVirtual "/Images/1.jpg"

  10. D-almighty הגיב:

    אחי
    זה לא בדיוק עובד לי…
    יש איזושהי דרך לשמור בתוך תיקיה בלי לכתוב את כל המיקום המלא?

  11. BuildHome הגיב:

    תגדיר "לא עובד"
    מה זה "לא עובד" ? מקבל שגיאה? אם כן, איזו?
    אם לא, אז מה כן ?

    אין דרך אחרת..מה שציינתי זה מה שקיים.

  12. D-almighty הגיב:

    לא עובד
    אני מתכוון שכך שהשיטה לא עובדת…
    לא הsaveasvirtual וגם לא server.mappath…
    אוקי אז בו תגדיר לי את זה מהתחלה של הקוד (זה לא שהוא כ"כ ארוך…)


        Set Upload = Server.CreateObject("Persits.Upload")  
        Upload.Save Server.MapPath("/images")

    מה אני אמור לעשות? בשורה שניה???
    הדרך היחידה שבה הקוד עובד (שומר את הקובץ) זה אם אני כותב למשל:


    Upload.Save "/upload"

    תודה על העזרה!

  13. BuildHome הגיב:

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

    אתה יכול לנסות ככה:


    Upload.Save Request.ServerVariables("APPL_PHYSICAL_PATH") & "upload"

  14. D-almighty הגיב:

    אוקי אז
    מצאתי את התקלה…  סליחה שעבדת כ"כ קשה בשבילי לחינם…
    הייתי פשוט צריך לתת הרשאה לתיקיה דרך הממשק ניהול של השרת שלי…

    ד"א אחי, אתה יכול לצרף אותי באייסיקיו? אם כן אז זה המספר שלי:
    300315482

  15. MasterMind הגיב:

    שאלה
    הצלחתי לעשות את ההעלאה אבל עכשיו הבעיה שלי היא איך אני מכניס את זה
    למסד נתונים ??

  16. תעשה משהו כזה
    תכריז על משתנה בשם StrFileName לדוגמא שיהי שווה לשם שנתת לקובץ, ותכניס בעזרת Insert למסד נתונים כנתון רגיל

  17. BuildHome הגיב:

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

    הנה דוגמא:


    FileName = Upload.FileName

    השאר זה להכניס את הנתון למסד הנתונים עם שאילתת SQL בלבד או עם ADO.

  18. MasterMind הגיב:

    nxpr atku,

    1) לא נראה לי שהבנתם אותי , אני רוצה שהוא יכנס  כ  http://host/images/1.gif

    2) מה זה אובייקט OLE  ?

    3) איך עושים שהוא יעלה רק קבצי תמונה כלומר gif jepg png  

    4) בקוד דוגמא שהם נתנו  כתוב שזה לא יעלה על מגה אחד
    אני רוצה רק 200 קילו בייט !   איך לשנות את זה ?

    תודה מראש על התשובות  
    נועם צברי

  19. BuildHome הגיב:

    תשובות
    1. אז תכתוב למשל את הכתובת במשתנה ותצטרף אל המשתנה את שם הקובץ, לדוגמא:


    ImgUrl = "http://website.com/" & Upload.FileName

    2. אתה מתכוון בחיבור למסד ?

    3. תבדוק את סיומת הקובץ במשפט IF, לדוגמא:


    FileExt = Upload.Ext
    If Lcase(FileExt) = "gif" or LCase(FileExt) = "jpg" or….. Then
    שמירת התמונה בשרת
    End If

    4. תקבע גודל מקסימלי, לדוגמא:


    Upload.SetMaxSize 205, True

    מקווה שעזרתי.

  20. MasterMind הגיב:

    עזרת לי מאוד אבל…
    כשאני אומר אובייקט OLE אני מתכוון
    שכאשר בונים טבלה בתצוגת עיצוב יש אפשרויות שונות ובינהן יש אובייקט OLE
    אני רוצה לדעת מה זה ?

  21. ניר טייב הגיב:

    אובייקט OLE
    זה אובייקט ששומר מידע בצורה בינארית לרוב הוא בשביל תמונות וגרפים אבל אם עובדים איתו על אקסס לרוב ייצא שאקסס לא יוכל להכניס עוד נתונים (או משהו כזה) כי משקל הקובץ יהיה גדול. על כל פנים אובייקטים להעלאת קבצים עדיפים עליו בהרבה במקרה הזה

  22. MasterMind הגיב:

    אני משתגע
    אני בונה מערכת חדשות  ואני רוצה לעשות תוספת של תמונה עכשיו יש לי כל מיני שדות ובינהם יש  PIC (היפר-קישור)   PICSIZE (מספר)     PICNAME (טקסט)
    כל פעם שאני שולח תמונה  היא לא עולה ולא מוכנסת למסד !
    הנה הקוד שלי   הוא לא ממש ארוך !


    <%
    Set Upload = Server.CreateObject("Persits.Upload.1")
    Set conn = Server.CreateObject("adodb.connection")
    Set rs = Server.CreateObject("adodb.recordset")

    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("*********.mdb") & ";Jet OLEDB:Database Password=****"

    Upload.OverwriteFiles = False
    On Error Resume Next

    Upload.SetMaxSize 205, True

    Upload.Save("C:Inetpubwwwrootimages")

    Set File = Upload.Files("Image")

    rs.Open "Select * from News", Conn, 2, 3
    rs.AddNew
    rs.fields("Subject") = request.form("Subject")
    rs.fields("Auther") = request.form("Auther")
    rs.fields("Date") = now()
    rs.fields("Full_News") = request.form("Full")
    rs.fields("Short_News") = request.form("Short")
    rs.fields("Pic") = File.Binary
    rs.fields("Picname") =  "http://localhost/images/&quot; & File.FileName
    rs.fields("Picsize") = File.Size
    rs.Update
    rs.close
    %>

    תודה לכל העוזרים  נועם צברי

  23. BuildHome הגיב:

    תשובה
    1. תבצע שרשור. אין צורך שההודעה תגרר כל כך הרבה.

    2. השיטה request.form אינה עובדת במידה ושליחת הטופס היא עבור העלאת קבצים.

    במקום request.form אתה משתמש ב-Upload.Form, הנה הקוד החדש שצריך להיות לך:


    rs.Open "Select * from News", Conn, 2, 3
    rs.AddNew
    rs.fields("Subject") = Upload.form("Subject")
    rs.fields("Auther") = Upload.form("Auther")
    rs.fields("Date") = now()
    rs.fields("Full_News") = Upload.form("Full")
    rs.fields("Short_News") = Upload.form("Short")
    rs.fields("Pic") = File.Binary
    rs.fields("Picname") =  "http://localhost/images/&quot; & File.FileName
    rs.fields("Picsize") = File.Size
    rs.Update
    rs.close

  24. BuildHome הגיב:

    תשובה
    1. תבצע שרשור. אין צורך שההודעה תגרר כל כך הרבה.

    2. השיטה request.form אינה עובדת במידה ושליחת הטופס היא עבור העלאת קבצים.

    במקום request.form אתה משתמש ב-File.Form, הנה הקוד החדש שצריך להיות לך:


    rs.Open "Select * from News", Conn, 2, 3
    rs.AddNew
    rs.fields("Subject") = File.form("Subject")
    rs.fields("Auther") = File.form("Auther")
    rs.fields("Date") = now()
    rs.fields("Full_News") = File.form("Full")
    rs.fields("Short_News") = File.form("Short")
    rs.fields("Pic") = File.Binary
    rs.fields("Picname") =  "http://localhost/images/&quot; & File.FileName
    rs.fields("Picsize") = File.Size
    rs.Update
    rs.close

  25. D-almighty הגיב:

    כל איפה
    כל איפה שכתבת request.form תשנה את זה לupdate.form
    זה אמור לעבוד

  26. D-almighty הגיב:

    מעניןן…
    דווקא אני משתמש בupload.form ועובד לי מצויין…
    כניראה שי כמה שיטות לזה…

  27. BuildHome הגיב:

    יש שיטה אחת
    העניין הוא ששם האובייקט שאתה יוצר תלוי במה שייכתב לפני ה-.Form.

    אתה כנראה יוצר אובייקט בשם Upload ויש כאלה שיוצרים אובייקט בשם File או אחרים.

  28. D-almighty הגיב:

    אההה
    אוקי תודה אחי!

    ד"א, תעשה טובה ותחזור אלי דרך האייסיקיו: 300315482

  29. MasterMind הגיב:

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


    ID = Session("ID")

    ואחר כך לקרוא למידע  עם WHERE    
       האם אפשר לעשות את זה להשוות סיישן לשם אחר ?
      

  30. אתה צריך
    לעדכן ולשלוף את הפרטים איפה שהid שווה לsession

    בכל מקרה אני לא בטוח שהבנתי את השאלה
    האם אפשר לעשות את זה להשוות סיישן לשם אחר ? אתה מתכוון ל.
    האם אפשר לעשות את זה: להשוות סיישן לשם אחר ?

  31. MasterMind הגיב:

    הסבר יותר מפורט
    הנה מה שעשיתי , האם זה נכון ?


    name = Session("Login")
    SQL = "Select * from Users where Login = " & name
    rs.Open SQL, Conn , 3 , 3

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

  32. שאלה קטנה
    שלא רציתי לפתוח בשבילה הודעה
    מה הקוד של תו הרווח?
    זה משהו עם #& לא?

  33. D-almighty הגיב:

    אוקי אז אני מחפש קוד קטן בhtml….
    שכחתי את הקוד meta שמסדר את הקטע עם הג'יבריש לעברית באתר…
    חחחחח
    נשמע קצת דפוק אבל אין אותו בשום אתר…  חשבתי שיהיה אותו בכל חור אבל כניראה שאני אצטרך להשפיל את עצמי על הזיכרון שלי ולשלוח כאן הודעה…

    אם מישהו יכול להביא לי את הקוד בהקדם אני אשמח….

  34. BuildHome הגיב:

    בבקשה


    <meta http-equiv="Content-Type" content="text/html; charset=windows-1255">

  35. MasterMind הגיב:

    עוד שאלה קטנה
    ראיתי בהרבה הודעות שרשרום  יישור לשמאל זה ליד האמוטיקון !

    מה זה אמוטיקון ??

  36. BuildHome הגיב:

    אם הבנתי אותך נכון..
    בכתיבת הודעה יש לך את האייקון הזה:
    https://www.webmaster.org.il/images/forums/editor/emo.gif

    לידו יש את האייקון הזה:
    https://www.webmaster.org.il/images/forums/editor/align-left.gif

    הם מדברים על האייקון השני שציינתי שהוא נמצא סמוך לאייקון הראשון שכתבתי.

  37. MasterMind הגיב:

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


    <meta http-equiv="Pragma" content="no-cache">

    מה זה ??

  38. BuildHome הגיב:

    מניעת אחסון הקבצים במטמון המחשב

שלח תשובה