469
צפיות
צפיות
18
תשובות
תשובות
העלאת קבצים.
שלום, אני רוצה להוסיף אפשרות להעלות קבצים לאתר ותהיתי איך עושים את זה בASP ?
שמעתי משהו על אובייקטים אבל לא כל כך הבנתי….
שלום, אני רוצה להוסיף אפשרות להעלות קבצים לאתר ותהיתי איך עושים את זה בASP ?
שמעתי משהו על אובייקטים אבל לא כל כך הבנתי….
18 תשובות
אז ככה
להעלאת קבצים ב-ASP רצוי להשתמש באובייקטים
ישנם מס' אובייקטים כמו
abcUpload
aspUpload
smartUpload
תוכל למצוא את הקישורים אליהם בקישורים של מדור ASP
תודה !
יש גם אפשרות להישתמש ב FSO
אבל *מאוד* לא מוצלח ומאוד לא מומלץ.
יש מאמרים באתר
רק תחפש
עוד שאלה קטנה…
קודם כל סליחה על כל השאלות הטיפשיות….
במאמר על שימוש בgetString יש את השורות הבאות:
var columnDelimiter="",""
var rowDelimiter=""], [""
עכשיו הבנתי מה זה עושה, אני פשוט לא מבין את דרך הכתיבה הזאת, מה זאת אומרת לשים פעמיים "" אז פסיק ואז שוב פעמיים "", כלומר המפריד יהיה פסיק ? ובשני זה עוד פחות ברור (השורות יופרדו ככה ? [שורה 1] [שורה 2])
אז שוב למה הפעמיים "" ?
תודה מראש, מקווה שתוכלו לעזור.
נראה לי שבראשון
פיספת גרשיים מכל צד
בכל מקרה הרעיון הוא ליצור ישירות מערך דו מימדי כך שכל שורה זה מערך בפני עצמהוכל הרשומות זה מערך אחד גדול
"' fields in the table: ID, NAME, DESC
[
["1", "nir", "the king"]
["2", "Uriks", "manager of the forum"]
["3", "Buildhome", "GAON"]
]
ב-VBS אוךם זה לא מערך אבל הכוונה שלנו להעביר את הרשומות ללקוח (ז"א להעביר ל-JS צד לקוח) ולכן כאשר יודפס המשתנה שמכיל את ה-getString בין תגיות הSCRIPT יהיה לנו מערך
שגיאה מוזרה בדף שאני מנסה לעשות.
אני מנסה רק להציג בינתיים את כל ההודעות שבמסד.
הנה הודעת השגיאה שאני מקבל
þþùâéàú ÷åîôéìöéä ùì Microsoft JScript error '800a03f1'
þþðãøù '}'
/NewDesign/manage.asp, line 24
והנה קוד הasp הבעייתי (שורה 24 זה oConn = null;)
מישהו יכול להסביר לי מה הטעות ?
<!– ייבוא ההודעות–>
<%@ Language=JScript Codepage=1255 %>
<%
// Opens a connection to the database
var oConn = Server.CreateObject("ADODB.Connection");
oConn.Provider = "Microsoft.Jet.OLEDB.4.0";
oConn.Open (Server.MapPath("db/manage.mdb"));
var sql="SELECT id, Msg FROM messages ORDER BY id "
oRs.Open(sql,oConn) ;
if (!oRs.EOF){
var columnDelimiter="','" ;
var rowDelimiter="'], ['" ;
var str= oRs.GetString(2,-1,columnDelimiter,rowDelimiter) ;
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]]" ;
delete oRs;
oRs = null;
oConn.Close
delete oConn;
oConn = null;
%>
<SCRIPT TYPE="text/javascript">
for (var i = 0 ; i <= MsgArray.length ; i++) {
var id = 'Mess' + i + 1;
id = id.toString();
document.getElementById(id).value = MsgArray[i] ;
}
</SCRIPT>
<!– סוף ייבוא ההודעות–>
*הערה:
אני מנסה להכניס את הערך של המערך לתוך תיבת טקסט (זה מה שהפונ' בjs עושה).
פתחת IF ולא סגרת אותו
<%@ Language=JScript Codepage=1255 %>
<%
// Opens a connection to the database
var oConn = Server.CreateObject("ADODB.Connection");
oConn.Provider = "Microsoft.Jet.OLEDB.4.0";
oConn.Open (Server.MapPath("db/manage.mdb"));
var sql="SELECT id, Msg FROM messages ORDER BY id "
oRs.Open(sql,oConn) ;
if (!oRs.EOF){
var columnDelimiter="','" ;
var rowDelimiter="'], ['" ;
var str= oRs.GetString(2,-1,columnDelimiter,rowDelimiter) ;
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]]" ;
oRs.Close()
delete oRs;
oRs = null;
oConn.Close()
delete oConn;
oConn = null;
%>
<SCRIPT TYPE="text/javascript">
for (var i = 0 ; i <= MsgArray.length ; i++) {
var id = 'Mess' + i + 1;
id = id.toString();
document.getElementById(id).value = MsgArray[i] ;
}
</SCRIPT>
<!– סוף ייבוא ההודעות–>
<% } %>
שים לב שהוספתי () לשיטת ה-CLOSE של החיבור וגם הוספתי CLOSE ל-RS
וגם שכחת להדפיס את המשתנה למערך
בלקוח
<%@ Language=JScript Codepage=1255 %>
<%
// Opens a connection to the database
var oConn = Server.CreateObject("ADODB.Connection");
oConn.Provider = "Microsoft.Jet.OLEDB.4.0";
oConn.Open (Server.MapPath("db/manage.mdb"));
var sql="SELECT id, Msg FROM messages ORDER BY id "
oRs.Open(sql,oConn) ;
if (!oRs.EOF){
var columnDelimiter="','" ;
var rowDelimiter="'], ['" ;
var str= oRs.GetString(2,-1,columnDelimiter,rowDelimiter) ;
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]]" ;
oRs.Close()
delete oRs;
oRs = null;
oConn.Close()
delete oConn;
oConn = null;
%>
<SCRIPT TYPE="text/javascript">
<% =str %>
for (var i = 0 ; i <= MsgArray.length ; i++) {
var id = 'Mess' + i + 1;
id = id.toString();
document.getElementById(id).value = MsgArray[i] ;
}
</SCRIPT>
<!– סוף ייבוא ההודעות–>
<% } %>
קודם כל, תודה רבה על העזרה
רק לא הבנתי למה צריך להדפיס את הערך למערך ?
חשבתי שהשורה הזו יוצרת את המערך עם כל הנתונים
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]]"
הנה לדף שאני מנסה ליצור.
זה פשוט לא עובד, אני לא יודע למה
הנה הקוד העדכני ביותר,
אני חושב שהמערך ריק ובגלל זה זה לא עובד…
<!– תחילת ייבוא הודעות –>
<%@ Language=JScript Codepage=1255 %>
<%
// Opens a connection to the database
var oConn = Server.CreateObject("ADODB.Connection");
oConn.Provider = "Microsoft.Jet.OLEDB.4.0";
oConn.Open (Server.MapPath("db/manage.mdb"));
var oRs = Server.CreateObject("ADODB.Recordset") ;
var sql="SELECT id, Msg FROM messages ORDER BY id "
oRs.Open(sql,oConn) ;
if (!oRs.EOF){
var columnDelimiter="','" ;
var rowDelimiter="'], ['" ;
var str= oRs.GetString(2,-1,columnDelimiter,rowDelimiter) ;
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]]" ;
oRs.Close()
delete oRs;
oRs = null;
oConn.Close()
delete oConn;
oConn = null;
%>
<SCRIPT TYPE="text/javascript">
<% =str %>
for (var i = 0 ; i <= MsgArray.length ; i++) {
var id = 'Mess' + i + 1;
id = id.toString();
document.getElementById(id).value = MsgArray[i] ;
}
</SCRIPT>
<% } %>
<!– סוף ייבוא ההודעות–>
המשתנה str שבשרת לא קיים בלקוח
ולכן עליך להעביר את הערך שלו (הכולל את הגדרת המשתנה והמערך עצמו) בין תגיות הסקריפט
יש לך בעיה עם סדר הפעולות
תוסיף סוגריים על
i+1
var id = 'Mess' + parseInt(i + 1);
ועוד משהו קטן
שאתה מכניס את הערכים שלך למסד אז שנה את הגרש (') והגרשיים ליוניקוד או ASCII אחרת תיווצר לך בעיה עם המערך
שוב תודה, עכשיו זה כמעט עובד
הנה הבעיה האחרונה:
זה המערך שהו יוצר:
var MsgArray=[[message a'], ['message b'], ['message c'], ['message d']]
וחסר גרש בהודעה הראשונה, זאת השגיאה היחידה.
הנה השורה אשר יוצרת את המערך:
str="var MsgArray=[[" + str.substr(0,str.length-4) + "]" ;
בגלל ש-getString
מתחיל את ההפרדה רק מהתחית התא השני אז תצטרך לעשות ככה:
str="var MsgArray=[['" + str.substr(0,str.length-4) + "]" ;
תודה רבה על כל העזרה – הכל עובד