506
צפיות
צפיות
17
תשובות
תשובות
בעיית טפסים…..
יש לי בעיה, אני בונה טופס שיעלה לסרבר תמונה וגם יכניס מידע למסד נתונים.
הגדרות הטופס להעלאת קבצים הם:
<form name="enter_this" method=post action="enter_this.asp" ENCTYPE="multipart/form-data">
אך כאשר זה כך request.form לא עובד ואז אינני יכול לשלוח מידע לדף שמטפל בהעלת הקובץ בשביל שיכנס למסד הנתנים ….. מה עושים, אולי צריך להגדיר את הטופס אחרת?
אני לא מומחה גדול בטפסים אבל נראה לי שכאשר אני מגדיר: ENCTYPE="multipart/form-data יש בעיה לשלוח מידע ב request.form.
אני צודק?
אשמח אם משהו יכול לעזור לי……..
17 תשובות
אז ככה…
ברגע שאתה מגדיר "ENCTYPE="multipart/form-data אז אתה אומר ללקוח שישלח ערכים בינאריים ללקוח ולכן Request.Form לא יעבוד לך כי הוא נועד לטיפול בערכים טקסטואליים.
לרוב אובייקט העלאת קבצים בה עם שיטה שנועדה לקרוא ערכים טקסטואליים. באובייקט aspUpload השיטה היא .Form ולכן כך תקרא לשדה
objUpload.Form("input name")
באובייקטים אחרים יש שיטה אחרת.
אם איזה אובייקט אתה משתמש.
(ודי שואלים את זה יותר מידי מתי יכניסו את הסבר כזה ל-FAQ ?)
"הלקוח" השני בשורה הראשונה="שרת"
תודה אחי, אני חושב שזה aspUpload…
אני חושב שאני משתמש ב aspUpload הינה הקוד:
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save
Set File1 = Upload.Files("FILE1")
File1.SaveAs "c:GpathAdrivecomboimages" & name & ".JPG"
הבנתי שאני צריך לשלוח ערכים טקסטואלים אך ממש לא הבנתי איך אני עושה את זה….
אני צריך לשנות את הטופס ששולח או את הקוד שמטפל (מעלה את הקובץ)?
את הקוד
במידה וזה aspUpload אז אתה צריך לעשות כך כדי לקרוא את הערכים ב-INPUT
Upload.Form("inputName")
הבנתי נכון…..?
פשוט לשים
Upload.Form("inputName")
במקום
request.form("inputName")
???????
כן
)
(רק וודא שזה ASPUPLOAD
ראיתי בasp.org.il מאמר …..
מאמר להעלות קבצים ללא רכיב, המאמר כולל אופצייה להגביל את גודל הקובץ .
http://www.asp.org.il/articles/upload_no_comp.asp
ודוגמאת קוד (מאמר אחד לפני כן) :
http://www.asp.org.il/samples/upload/upload_txt.asp
לא ניסיתי את הקוד, אם תנסה וזה יעבוד אשמח אם תודיע לי .
העלאת קבצים ללא קומפוננטה לרוב
היא פחות יעילה ופחות מהירה (הולך ביחד)
רצוי להשתמש ברכיבים כדי לעלות קבצים
אבל בשני המקרים – קובץ מועלה לשרת
צודק בנושא היעילות והמהירות, אבל בכל מקרה הקובץ יועלה ללא בעיה גם ללא רכיבים.
צודק וטועה
אתה צודק ששניהם יעלו אבל אם הוספנו משהו לאפליקציה שכביכול יעילה למה לא להוסיף משהו יעיל?! למה להכביד עליה עוד יותר?!
חוץ מזה לא הרכיב יותר נוח וגם הביצועים שלו יותר טובים
מסכים .
תודה, הכל עובד אבל…..
וואלה ניר אתה 10 אבל יש בעיית עיברית כלומר כאשר אני משתמש ב upload.form("input") אז המידע בעברית שמועבר לקובץ שמטפל בהעלאה וגם בבסיס הנתונים הופך לג'בריש….. אך העברית הזאת – רק בעיות…….
אני בטוח שיש פתרון….. אשמח אם משהוא מכיר…….
תוסיף את זה בשורה הראשונה בעמוד שלך
<%@language="VBSCRIPT" CODEPAGE="1255"%>
זה אמור לטפל בג'יבריש.
את זה אני יודע…….אבל..
הבעיה היא לא בעיית עברית כללית את ההגדרה הזאת יש לי גם בקובץ של הטופס וגם בקובץ שמקבל את המידע.
זאת בעיה שהמידע נישלח לא בעברית בגלל שהטופס מוגדר: ENCTYPE="multipart/form-data אז המידע מהטופס נשלח בבינארי ולא מתורגם לעיברית.
אני חושב שזאת בעיה שבטוח משהוא נתקל בה…. מישהו…??????????
הנה
זה בדף שבו הטופס:
<FORM ACTION="CheckMsg.asp" method=POST enctype="multipart/form-data"
onsubmit="txtMsgSubj.value = escape(txtMsgSubj.value);
txtMsgContent.value = escape(txtMsgContent.value);
Word.value = escape(Word.value);">
כולמר הצפנתי את התוכן בעזרת escape .
כעת בדף המקבל (אצלי CheckMsg) עשיתי כך:
txtMsgContent=unescape(upload.form("txtMsgContent"))
זה אמור לפתור לך את הבעיה..
וואלה מלך…. מכיר בVBs?
בלקוח משתמשים רק ב-JS
דפדפנים שהם לא אקספלורר לא יצליחו לקרוא א הקוד של VBS והסקריפטים לא יתבצעו