เรารู้ว่าวิธีการสร้างหน้าคงที่โดยทั่วไปใช้ในการใช้เทมเพลต ฉันรู้สิ่งนี้ ตอนนี้ฉันต้องการบันทึกรหัส HTML โดยตรงที่สร้างโดยไฟล์ ASP ลงในหน้าคงที่ เหมาะมากสำหรับการสร้างหน้าแรก ในเวลานั้นฉันค้นหาเนื้อหาบนอินเทอร์เน็ตและพบสิ่งนี้: "วิธีการสร้างหน้า html แบบคงที่โดยไม่มีเทมเพลต": //www.vevb.com/html/200609/984.htm ฉันลองแล้วมันสามารถทำได้ แต่เมื่อไฟล์มีขนาดใหญ่ข้อผิดพลาดจะเกิดขึ้น เหตุผลคืออะไร? มีข้อ จำกัด ใด ๆ เกี่ยวกับไฟล์ที่เก็บไว้ใน Textarea หรืออื่น ๆ หรือไม่? ฉันค้นหาอินเทอร์เน็ตซ้ำ ๆ และโพสต์โพสต์บน IECN เพื่อขอความช่วยเหลือ ฉันลองและลองอีกครั้งและพบว่ามีข้อ จำกัด ในแบบฟอร์ม ฉันพบปัญหาการแก้ข้อ จำกัด แบบฟอร์มออนไลน์
นี่คือโพสต์ใหม่:
เมื่อจำนวนข้อมูลที่ส่งโดยแบบฟอร์มมีขนาดใหญ่จะมีการรายงานข้อผิดพลาด เมื่อมองผ่าน MSDN มันได้เรียนรู้ว่าเหตุผลก็คือ Microsoft มีข้อ จำกัด เกี่ยวกับข้อมูลสูงสุดที่สามารถรับได้ด้วย request.form (), 80K ไบต์ใน IIS4 และ 100K ไบต์ใน IIS5
นี่คือโซลูชั่นบางอย่างที่จัดทำโดย Microsoft:
1. ใช้ request.binaryRead แทนวิธีการร้องขอรูปแบบเพื่อแยกวิเคราะห์ข้อมูลแบบฟอร์ม;
2. ใช้รูปแบบการอัปโหลดไฟล์เช่น: Microsoft PostingAcceptor;
3. เนื่องจากขีด จำกัด ของ 1,02399 ไบต์สำหรับแต่ละองค์ประกอบแบบฟอร์มเมื่อส่งเนื้อหาองค์ประกอบแบบฟอร์มที่มากกว่า 1,02399 จะถูกแบ่งออกเป็นองค์ประกอบหลายรูปแบบเพื่อส่ง
ต่อไปนี้เป็นรหัสตัวอย่าง: (Microsoft เตือน: รหัสต่อไปนี้อาจไม่สามารถใช้ได้กับความต้องการเฉพาะอย่างสมบูรณ์และจะไม่รับผิดชอบต่อผลที่ตามมาของการใช้รหัสเหล่านี้!)
การคัดลอกรหัสมีดังนี้:
<formMethod = postAction = laughpost.aspName = theformonsubmit = "breakitup ()">
<TextArearows = 3Cols = 100Name = BigTextArea> AbunchOfText ... </TextArea>
<inputType = submentValue = go>
</form>
<scriptLanguage = JavaScript>
functionbreakitup ()
-
// SetTheLimitForFieldSize
// หากเนื้อหามีอักขระภาษาจีนสามารถตั้งค่าเป็น: 51100
varformlimit = 102399
// รับค่าของ thelarge inputoBject
vartempvar = newstring
tempvar = document.theform.bigtextarea.value
// ถ้า theelengthoftheobjectisgreaterthanthelimit, breakit
// intomultipleobjects
if (tempvar.length> formlimit)
-
document.theform.bigtextarea.value = tempvar.substr (0, formlimit)
tempvar = tempvar.substr (formlimit)
ในขณะที่ (tempvar.length> 0)
-
varobjtextarea = document.createElement ("textarea")
objtextarea.name = "bigtextarea"
objtextarea.value = tempvar.substr (0, formlimit)
document.theform.appendchild (objtextarea)
tempvar = tempvar.substr (formlimit)