การคัดลอกรหัสมีดังนี้:
<input name = "file" type = "file">
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)
FormSize = request.totalbytes
รับจำนวนไบต์ที่อัปโหลดสูงสุด
-
formData = request.binaryRead (FormSize)
รับข้อมูลฟอร์มแบบฟอร์มของสตรีมไบนารี
-
bncrlf = chrb (13) & chrb (10)
ตั้งค่าตัวแปรรหัสการแบ่งบรรทัด crlf เข้าสู่สาย
-
Divider = leftb (formdata, clng (instrb (formdata, bncrlf))-1)
รับข้อมูลไบต์ทางด้านซ้ายของ CRLF แรก
InstrB (FormData, Bncrlf) -1 เครื่องตรวจสอบว่าค่าบิตของไบนารีไบต์ของ CRLF ลดลงหนึ่งรายการนั่นคือข้อมูลไบนารีก่อนข้อมูลบิตธง ควรสังเกตว่า instrb ส่งคืน clng ดังนั้นการเพิ่ม clng ที่นี่ไม่จำเป็น
-
dataStart = instrb (formdata, bncrlf & bncrlf) +4
รับข้อมูลรูปภาพและลบตำแหน่งเริ่มต้นของข้อมูลส่วนหัวที่เพิ่มโดยแบบฟอร์มนั่นคือตำแหน่งเริ่มต้นของไบต์ของข้อมูลไฟล์จริงหลังจากที่แบบฟอร์มถูกส่งโดยประเภทของคุณ = ไฟล์ของคุณ
ตำแหน่งของ CRLFS สองติดต่อกัน (เช่นความยาวของ CRLFG หนึ่งตัว)
-
dataEnd = instrb (dataStart+1, formData, divider) -datastart
ตำแหน่งข้อมูล +1 ที่ได้จากด้านบนใช้เป็นค่าอ้างอิงที่คำนวณได้สำหรับการตรวจสอบจุดสิ้นสุดของข้อมูล การตรวจจับตำแหน่งเริ่มต้นที่ dataStart+1 ส่งคืนตำแหน่งของข้อมูลส่วนหัวตัวคั่นแบบไบนารีแรกจากนั้นลบตำแหน่งสัมพัทธ์ของฐานข้อมูล
-
MyData = MIDB (FormData, DataStart, DataEnd)
MIDB () ใช้ข้อมูลบิต End Star ของข้อมูลไฟล์อัปโหลดที่ได้รับจากการบิดและการเลี้ยวข้างต้นมากมาย
ตกลง ---------------> ตอนนี้แยกข้อมูลทุติยภูมิที่อัปโหลดอย่างหมดจด
บันทึก:
(1). ฟังก์ชั่น VB ทั้งหมดของซีรี่ส์ *B ถูกประมวลผลโดยไบต์และจะต้องใช้เพื่อจัดการระบบทุติยภูมิ
(2) หลังจากส่งข้อมูลแบบฟอร์มของประเภท = ไฟล์และประเภทฟอร์มที่เกี่ยวข้องข้อมูลส่วนหัวที่เกี่ยวข้องจะถูกแนบกับแต่ละฟิลด์ไฟล์
ดังนั้นอัลกอริทึมข้างต้นจะต้องใช้เพื่อค้นหาข้อมูลไฟล์จริงอย่างชัดเจน
(3). ในเวลาเดียวกันข้อมูลส่วนหัวยังมีการอัปโหลดข้อมูลชื่อไฟล์เริ่มต้นเช่น C: /aaa/aaa.jpg ข้อมูลของ formData สามารถประมวลผลชื่อไฟล์ทดสอบแรกของข้อมูลโดเมนไฟล์ของเซ็กเมนต์
(4). อัลกอริทึมเหล่านี้มาจากข้อมูลรูปแบบที่จัดทำโดยข้อกำหนด "ฟอร์ม" HTTP ดังนั้นอัลกอริทึมการประมวลผลใด ๆ จึงคล้ายกัน!