ภาพที่อัพโหลดที่กล่าวถึงครั้งสุดท้ายถูกอัปโหลดโดยไม่มีส่วนประกอบที่พัฒนาโดย Daoxiang Laonong กระบวนการอัปโหลดคือการบันทึกภาพไปยังโฟลเดอร์ที่ระบุก่อนและในเวลาเดียวกันบันทึกพา ธ ไปยังฟิลด์ฐานข้อมูล อิมเมจการแสดงผลจะปรากฏขึ้นตามฟิลด์พา ธ ในตารางฐานข้อมูล แน่นอนเกี่ยวข้องกับการจัดการรูปภาพเช่นการลบ: เฉพาะเส้นทางที่ถูกลบและภาพจริงจะต้องถูกลบผ่าน FSO ตามเส้นทาง ...
มีสถานการณ์ที่รูปภาพถูกบันทึกโดยตรงเป็นค่าของฟิลด์ การดำเนินการเกี่ยวกับรูปภาพมีความเชี่ยวชาญเท่ากับเขตข้อมูลการทำงาน คำตอบคือใช่เพียงแค่ตั้งค่าประเภทของฟิลด์เป็นวัตถุ OLE
จุดความรู้: ฟิลด์ OLE Object ใช้เพื่อจัดเก็บข้อมูลสำหรับเอกสารรูปภาพเสียงและข้อมูลไบนารีประเภทอื่น ๆ ที่สร้างขึ้นในโปรแกรมอื่น ๆ วัตถุ OLE สามารถเชื่อมโยงหรือฝังลงในฟิลด์ในตารางการเข้าถึง Microsoft
1. ฐานข้อมูลออกแบบ testimg.mdb
สำหรับการดีบักง่ายๆตารางการออกแบบ imgurl พร้อมสองฟิลด์: ID (หมายเลขอัตโนมัติ, คำหลัก), IMG (OLE Object)
2. เชื่อมต่อกับไฟล์ฐานข้อมูล conn.asp
- db_path = "testimg.mdb" ตั้งค่า conn = server.createObject ("adodb.connection")) connstr = "driver = {microsoft access driver (*.mdb)}; dbq =" & server.mappath (db_path) conn.open connstr - |
3. ระบุหน้าแบบฟอร์ม upload.html สำหรับการอัปโหลดรูปภาพ
<form action = "upload.asp" method = "post" enctype = "multipart/form-data"> <input type = "file" name = "imgurl"> <อินพุต type = "ส่ง" name = ok value = "ตกลง"> </form> |
4. ยอมรับข้อมูลและเพิ่มการอัปโหลดหน้าบันทึก
<!-#รวม file = "conn.asp"-> - FormSize = request.totalbytes formData = request.binaryRead (FormSize) bncrlf = chrb (13) & chrb (10) Divider = leftb (formdata, clng (instrb (formdata, bncrlf))-1) dataStart = instrb (formdata, bncrlf & bncrlf) +4 dataEnd = instrb (dataStart+1, formData, divider) -datastart MyData = MIDB (FormData, DataStart, DataEnd) ตั้งค่า rs = server.createObject ("adodb.recordset")) rs.open "เลือก * จาก imgurl", Conn, 3,3 Rs.Addnew RS ("IMG"). AppendChunk MyData Rs.update Rs.close ตั้งค่า rs = ไม่มีอะไร ตั้งค่า conn = ไม่มีอะไร Response.redirect "index.asp" - |
5. แยกเนื้อหาของฟิลด์รูปภาพในตารางฐานข้อมูลเพื่อแสดงหน้ารูปภาพ showimg.asp