31-08-2008, 23:03
|
|
|
חבר מתאריך: 12.12.05
הודעות: 119
|
|
העלאת תמונה למסד ASP
שלום,
יש לי 2 קבצים שאיתם אני מעלה תמונות לשרת ואני רוצה שגם השם של התמונה ישלח אבל הוא לא נשלח הנה הקבצים ..
זה קוד אחד form.html
קוד:
<form name='addMsg' action='upload.asp' Method='Post' enctype="multipart/form-data">
<input type=text name='Subject'> : נושא<bR>
<textarea name='msg'></textarea> : הודעה<br>
<INPUT TYPE=FILE SIZE=45 NAME=FILE1>: הוספת קובץ<BR>
<input type=submit value='Submit '>
</form>
קוד:
<%
On Error Resume Next
'קביעת מיקום הקובץ בשרת - כמובן שצריך לוודא שיש לספריה
'זו - הרשאות מלאות לכתיבה לתוכה
dim Folder_Loc
Folder_Loc = Server.MapPath("\") & "\Data\"
'הוספת קובץ
Set Upload = Server.CreateObject("Persits.Upload") ' הגדרת האובייקט
Upload.SetMaxSize 500000, True 'הגבלת נפח הקובץ ל5 מגה
Count = Upload.Save
if Err.Number = 8 Then
Response.Write " הקובץ שהעלית חורג מגבולות הנפח המותר "
Set Upload = Nothing: response.end
end if
Set File1 = Upload.Files("File1") 'כאן אתה מעביר את הקובץ לזכרון
If Not File1 Is Nothing Then 'אם העלו קובץ..
FileExt = Lcase(File1.Ext) 'סיומת הקובץ
FileType = File1.ImageType 'סוג הקובץ
'בדיקת סיומות הקובץ
if FileExt <> "" And FileExt <> ".gif" And FileExt <> ".jpg" And FileExt <> ".png" And FileExt <> ".doc" And FileExt <> ".zip" then
response.write "סוג הקובץ שהועלה - לא מורשה <br> רשימת הקבצים המורשים: jpg , gif , bmp , png, zip , doc"
Set Upload = Nothing: response.end
End if
'בדיקת אבטחה, אם העלה סיומת קובץ שמסתתר בתוכה קוד אחר
if FileExt = ".gif" Or FileExt = ".jpg" Or FileExt = ".png" Or FileExt = ".bmp" Then
if FileType = "UNKNOWN" Then
response.write " המערכת זיהתה תמונה הכוללת בתוכה מרכיבים העלולים להזיק "
Set Upload = Nothing: response.end
End if
End if
'הענקת שם חדש לקובץ
DateStr = Date()
DateStr = Replace(DateStr,"/","")
for i=0 to 9
Randomize: sRnd = Srnd & Int(Rnd * 9)
Next
'השם החדש מורכב מצירוף התאריך ומחרוזת מספרית רנדומלית
File_NewName = DateStr & "_" & sRnd & FileExt
End if
'שימו לב שעדיין לא העלינו את הקובץ לשרת
'כעת אנחנו מזינים נתונים למסד הנתונים - כולל את שם התמונה החדשה
'רק לאחר שהנתונים יוזנו למסד הנתונים בהצלחה - נעלה את התמונה
'קריאת נתוני השדות האחרים שנשלחו מהטופס
'שימו לב שקוראים אותם דרך שיטות האובייקט
'ולא דרך השיטות המוכרות לנו - Request.Form
Subject = Upload.Form("Subject")
msg = Upload.Form("Msg")
sPicture = Upload.Form("sPicture")
'הזנת הנתונים למסד הנתונים - כולל את שם התמונה החדשה
set con=Server.CreateObject("ADODB.connection")
con.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("db1.mdb") &";"
Con.Execute "update Tavla1 set Subject = '" & Subject & "',Msg='" & msg & "',sPicture='" & sPicture & "' where id=35"
If Not File1 Is Nothing Then 'בדיקה שאכן העלו קובץ
File1.SaveAs Folder_Loc & File_NewName 'שמירת הקובץ בשרת
End if
Set Upload = Nothing 'השמדת האובייקט
%>
תודה רבה רבה !
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.
|