มีคนโพสต์โปรแกรมอัปโหลดแบบไม่มีส่วนประกอบที่ทำด้วยสตรีม ADO วันนี้ฉันจะแนะนำสั้น ๆ
ในอดีตหากคุณต้องการใช้ ASP เพื่อใช้งานไฟล์เช่นการย้ายการคัดลอกการลบหรือการสร้างไฟล์ Notepad มันจะทำผ่านวัตถุ FileSystemObject แน่นอนว่าสิ่งนี้เป็นมืออาชีพมากและไม่ได้พูดอะไรเลวร้าย มันสามารถให้ข้อมูลไฟล์ที่สมบูรณ์เช่นเวลาการจัดตั้งขนาดเวลาการปรับเปลี่ยนครั้งสุดท้าย ฯลฯ แต่ถ้าคุณไม่ได้ทำการแปลงรูปแบบอักขระที่เจ็บปวดและมีราคาสูงคุณจะไม่สามารถจัดการไฟล์ไบนารีได้โดยตรง
อย่างไรก็ตามตอนนี้วัตถุสตรีมที่เราแนะนำสามารถใช้งานทั้งวัตถุข้อความและวัตถุไบนารี ข้อกำหนดคือเครื่องของคุณต้องติดตั้ง ADO2.5 หรือสูงกว่าหรือสูงกว่าคุณสามารถลงจาก http://www.microsoft.com/data
วัตถุสตรีมนี้มีวิธีการมากมายสำหรับการจัดการไฟล์ไบนารีและไฟล์ข้อความ ลองดูตัวอย่าง
เปิดวัตถุสตรีม
<!-metadata type = typelib uuid = 00000205-0000-0010-8000-00aa006d2ea4 name = adoDB ประเภทไลบรารีประเภท adodb-> <%'สร้างสตรีม instancedim objstreamset objstream = เซิร์ฟเวอร์
สำหรับคำพูดข้างต้นหากคุณไม่เข้าใจคุณสามารถอ่านโพสต์ที่ฉันโพสต์ไว้ก่อนหน้านี้ชื่อเฉพาะที่ฉันลืมไป
หมายเหตุ: หากเวอร์ชันไม่ถูกต้องรหัสด้านบนจะแจ้งข้อความแสดงข้อผิดพลาด
ตอนนี้คุณได้สร้างสตรีมความยาว 0 เมื่อใดก็ได้คุณสามารถใช้แอตทริบิวต์ขนาดเพื่อดูขนาดของสตรีม ตอนนี้เราต้องการระบุประเภทของข้อมูลที่จะใช้งานไบนารีหรือข้อความถ้าเป็นข้อความคุณต้องระบุว่าเป็นรูปแบบ ASCII หรือ Unicode
รหัสต่อไปนี้:
objstream.type = adtypetext
objstream.charset = ascii
ต่อไปเราจะเขียนไฟล์ข้อความลงในสตรีมนี้และใช้วิธีการ loadfromfile
objstream.loadfromfile d: /inetpub/wwwroot/webtech/083100-1.shtml
ควรสังเกตที่นี่ว่าหากคุณใช้งานสตรีมคุณต้องเข้าใจแนวคิดของสถานที่ หลังจากที่เราใช้วิธีการ loadfromfile เนื้อหาทั้งหมดในสตรีมจะถูกล้างและจากนั้นไฟล์จะถูกโหลดลงในสตรีมจากนั้นตำแหน่งสตรีมจะถูกกู้คืนเป็น 0 (ตำแหน่งเริ่มต้นของสตรีม)
หากคุณเขียนข้อมูลที่ตำแหน่ง 0 ปัจจุบันมันจะเขียนทับเนื้อหาต้นฉบับดังนั้นหากคุณต้องการเพิ่มบางสิ่งบางอย่างคุณต้องเริ่มจากตำแหน่งสุดท้ายดังนี้:
objstream.position = objstream.size
รหัสนี้ย้ายตำแหน่งปัจจุบันไปยังสุดท้าย
ตอนนี้เราสามารถเพิ่มบางสิ่งบางอย่างที่ด้านหลังฮิฮิตัวอย่างเช่น
objstream.writeText โปรดไปที่ห้องแชทของฉัน MM ยินดีต้อนรับเป็นพิเศษ
ฮ่า
ตอนนี้เราบรรลุจุดประสงค์ของเราแล้วเรามาช่วยกันเถอะ
สิ่งที่คุณควรทราบที่นี่คือเพราะคุณใช้บัญชีของ IUSER_MACHINENAME ไดเรกทอรีที่เกี่ยวข้องจะต้องเปิดสิทธิ์การเขียนไปยังบัญชี สิ่งนี้เป็นไปไม่ได้มิฉะนั้นจะเกิดข้อผิดพลาด
objstream.savetofiled: /inetpub/wwwroot/demos/streamdemo.txt
สืบทอดประเพณีที่ดีของเราและปิดการเปิดตัวหลังการใช้งาน
'ปิดสตรีมและตั้งค่าให้เป็นอะไรเลย ...