ฉันกำลังทำงานในโครงการเมื่อเร็วๆ นี้ ซึ่งเกี่ยวข้องกับปัญหาในการอัปโหลดไฟล์ ดังนั้นฉันจึงพบข้อมูลบางอย่างและศึกษาข้อมูลดังกล่าว เมื่อผู้ใช้ต้องการถ่ายโอนไฟล์ไปยังเซิร์ฟเวอร์ วิธีการทั่วไปคือการใช้ FTP แม้ว่าการส่งข้อมูลจะเสถียรโดยใช้ FTP แต่ความปลอดภัยก็เป็นปัญหาร้ายแรง และเซิร์ฟเวอร์ FTP จะอ่านไลบรารีผู้ใช้เพื่อรับสิทธิ์ ซึ่งไม่สะดวกสำหรับผู้ใช้ ใช้งานได้สะดวกมาก หากเราสามารถรวมฟังก์ชันอัพโหลดไฟล์เข้ากับเว็บเพื่อให้ผู้ใช้สามารถอัพโหลดงานได้โดยใช้เพียงเว็บเบราว์เซอร์ก็จะสะดวกสำหรับพวกเขามาก
มีหลายวิธีในการแนะนำไฟล์ ASP เพื่ออัพโหลดบนอินเทอร์เน็ต โดยสรุป มีวิธีการใช้งานสามประเภทดังต่อไปนี้ ผู้อ่านสามารถเลือกวิธีการที่เหมาะสมได้ตามเงื่อนไขและความต้องการของเว็บไซต์ของตนเอง
1. วิธีการอัปโหลดส่วนประกอบเซิร์ฟเวอร์:
วิธีการนี้แสดงโดยส่วนประกอบ SA-FileUp, ส่วนประกอบ AspUpload และส่วนประกอบ lyfUpload
SA-FileUp ของ Software Artisans เป็นหนึ่งในคอมโพเนนต์ Active Server เชิงพาณิชย์รุ่นแรกๆ ที่ได้รับการปรับปรุงหลายครั้ง และตอนนี้มีอยู่เป็นคอมโพเนนต์ ASP ล้วนๆ ASPUpload ของ Persits Software ยังเป็นส่วนประกอบ COM ที่ทรงพลังมากอีกด้วย พวกเขาทั้งหมดใช้ฟังก์ชันที่จำเป็นสำหรับการอัปโหลดไฟล์ต่างๆ: การอัปโหลดไฟล์ขนาดใหญ่, การจำกัดขนาดของไฟล์ที่อัปโหลด, การอัปโหลดหลายไฟล์, การแสดงแถบความคืบหน้าในการอัปโหลด, สามารถบันทึกไฟล์ลงในฐานข้อมูล,...
ข้อดีของวิธีนี้คือการทำงานที่เสถียร ฟังก์ชันอันทรงพลัง และไม่มีข้อกำหนดบนเบราว์เซอร์ ข้อเสียคือต้องลงทะเบียนส่วนประกอบบนเซิร์ฟเวอร์ หากผู้ดูแลระบบเว็บไซต์มีสิทธิ์ระดับผู้ดูแลระบบในเซิร์ฟเวอร์ วิธีนี้ควรเป็นตัวเลือกแรกสำหรับการใช้งานการอัพโหลดไฟล์
2. วิธีการอัพโหลดแบบไม่มีคอมโพเนนต์:
วิธีการนี้แสดงด้วยการอัพโหลดแบบไม่มีคอมโพเนนต์ของ Huajing, การอัพโหลดแบบไม่มีคอมโพเนนต์ของ Wufear, การอัพโหลดแบบไร้คอมโพเนนต์ของ Pioneer เป็นต้น
วิธีนี้เป็นวิธีการที่ใช้กันอย่างแพร่หลายบนอินเทอร์เน็ต และมีซอร์สโค้ดสำหรับตัวอย่างแอปพลิเคชันจำนวนมาก ข้อดีของมันคือไม่มีข้อกำหนดใดๆ สำหรับเซิร์ฟเวอร์และเบราว์เซอร์ มีความสามารถในการปรับตัวสูง และมีแอปพลิเคชันที่หลากหลาย แต่ก็มีข้อบกพร่องเช่นกัน ไม่มีการแสดงแถบความคืบหน้าเมื่ออัปโหลดไฟล์ และขีดจำกัดเริ่มต้นของ IIS ไม่อนุญาตให้อัปโหลดไฟล์เกิน 200KB (เว้นแต่ว่าการตั้งค่าเริ่มต้นของ IIS AspMaxRequestEntityAllowed จะได้รับการแก้ไข)
หากคุณต้องการอัปโหลดไฟล์ขนาดเล็กเท่านั้น นี่ควรเป็นตัวเลือกที่ต้องการ หากคุณต้องการอัปโหลดไฟล์ขนาดใหญ่ ผู้ดูแลระบบเว็บไซต์จำเป็นต้องแก้ไขการตั้งค่าเริ่มต้นของ IIS AspMaxRequestEntityAllowed
3. วิธีการอัปโหลดส่วนประกอบของเบราว์เซอร์:
วิธีการนี้แสดงโดยส่วนประกอบ XUpload, ส่วนประกอบ XUploadFiles และส่วนประกอบอัปโหลดไฟล์ Zongheng HTTP
วิธีนี้มีการใช้ค่อนข้างน้อยบนอินเทอร์เน็ต ข้อดีคือ ไม่มีข้อกำหนดสำหรับเซิร์ฟเวอร์ ไม่จำเป็นต้องติดตั้งส่วนประกอบบนเซิร์ฟเวอร์ และสามารถให้ฟังก์ชันต่างๆ ที่จำเป็นสำหรับการอัปโหลดไฟล์: การอัปโหลดไฟล์ขนาดใหญ่ การจำกัดขนาดของ อัพโหลดไฟล์, อัพโหลดหลายไฟล์, แสดงแถบความคืบหน้าในการอัพโหลด,…. ข้อบกพร่องของมันก็ชัดเจนเช่นกัน โดยกำหนดให้ส่วนประกอบของเบราว์เซอร์ต้องลงทะเบียน (บนไคลเอนต์) วิธีนี้เหมาะสำหรับสถานการณ์ที่ต้องอัปโหลดไฟล์ขนาดใหญ่และผู้ดูแลเว็บไซต์ไม่มีสิทธิ์ในการดูแลเซิร์ฟเวอร์ (เช่น โฮสติ้งเสมือน พื้นที่เช่า ฯลฯ)
ข้อกำหนดของเซิร์ฟเวอร์, | ข้อกำหนดของเบราว์เซอร์ในการ | อัปโหลดไฟล์, จำกัด | ว่ามีแถบความคืบหน้าเมื่อทำการอัพโหลดหรือไม่ | , | ||
---|---|---|---|---|---|---|
ส่วนประกอบการติดตั้ง | SA-FileUp | อื่น ๆ- | รองรับไฟล์ขนาดใหญ่, | แถบความคืบหน้า | ไม่จำกัด , ต้องมีการควบคุมเซิร์ฟเวอร์ | |
องค์ประกอบการติดตั้ง | AspUpload | - | รองรับไฟล์ขนาดใหญ่, | แถบความคืบหน้า | ไม่จำกัด ต้องการ | การควบคุมเซิร์ฟเวอร์ที่ถูกต้อง |
ส่วนประกอบการติดตั้ง | lyfUpload | - | รองรับไฟล์ขนาดใหญ่ ไม่จำกัด | | ต้องมีสิทธิ์ในการควบคุมเซิร์ฟเวอร์ไม่จำเป็น | |
ไม่มีการอัปโหลดส่วนประกอบ | - | - | เกี่ยวข้องกับการตั้งค่า IIS การตั้งค่าเริ่มต้นของ IIS สูงถึง 200KB | ไม่มี | การ | ตั้งค่าสากล เหมาะสำหรับการอัปโหลดไฟล์ขนาดเล็ก |
โดยไม่ต้องกลัวการอัปโหลดส่วนประกอบ | - | - | ที่เกี่ยวข้องกับการตั้งค่า IIS การตั้งค่าเริ่มต้นของ IIS สูงถึง 200KB | ไม่มี | การ | ตั้งค่าสากล ใช้ได้กับการอัพโหลดไฟล์ขนาดเล็ก |
และ | การอัพโหลดแบบไม่มีส่วนประกอบของ Pioneer | - | ที่เกี่ยวข้องกับการตั้งค่า IIS การตั้งค่าเริ่มต้นของ IIS สูงถึง 200KB | ไม่มี | การ | ตั้งค่าสากล เหมาะ |
สำหรับ | การอัพโหลด | ไฟล์ | ขนาดเล็ก | และจำเป็นต้องอัพโหลดไฟล์ขนาดใหญ่ | ||
องค์ประกอบการอัปโหลดไฟล์ Zongheng HTTP | - | องค์ประกอบการติดตั้ง | รองรับไฟล์ขนาดใหญ่ | พื้นที่เช่า | ไม่จำกัด พร้อมแถบความคืบหน้า | และจำเป็นต้องอัพโหลดไฟล์ขนาดใหญ่ |