ในแถบที่อยู่ของเบราว์เซอร์ให้ป้อนเส้นทาง URL ของไฟล์ DOC หรือ XLS หรือ JPG โดยตรงและไฟล์จะแสดงโดยตรงในเบราว์เซอร์ ในหลายกรณีเราหวังว่าจะปรากฏขึ้นโดยตรงกับกล่องพรอมต์ดาวน์โหลดเพื่อให้ผู้ใช้ดาวน์โหลด เราควรทำอย่างไร? นี่คือสองวิธี:
1. ตั้งค่า IIS ของเซิร์ฟเวอร์ของคุณและแมปชื่อต่อท้ายเช่น DOC
2. ตั้งค่า ContentType เมื่อส่งไปยังลูกค้า
วิธีการที่ 2 มีการอธิบายรายละเอียดด้านล่าง
รหัสโปรแกรม:
<% response.buffer = การตอบสนองที่แท้จริง clear dim url dim fso, fl, flsize dim dname dim dim objstream, contenttype, flname, isre, url1 '********************************************************************* '******************************************************************************************************************************************************************************************************************* คือ url = server.mappath ("/") & "/" & dname '************************************************************************************************************* objstream = server.createObject ("adodb.stream") objstream.open objstream.type = 1 objstream.loadfromfile url เลือกกรณี lcase (ขวา (flname, 4)) contentthy/arcifes. "แอปพลิเคชัน/msword" case ".zip" contentType = "แอปพลิเคชัน/zip" case ".xls" contentType = "แอปพลิเคชัน/vnd.ms-excel" case ".gif" contentType = "image/gif" case ".jpg. = "AUDIO/MPEG3" CASE ".MPG", "MPEG" contentType = "วิดีโอ/mpeg" case ".rtf" contentType = "แอปพลิเคชัน/rtf" case ".htm", "contentType =" contentType = html Response.addheader "เนื้อหา-การจัดสรร", "สิ่งที่แนบมา; filename = "& flname response.addHeader" ความยาวเนื้อหา ", flsize response.charset =" utf-8 "response.contentType = contentType ตอบกลับ.บันทึกรายการต่อไปนี้เป็น download.asp และคุณสามารถใช้ <ayherf = "http://xxx.xxx.com/download.asp?n=file.doc"> ดาวน์โหลด! </a> เพื่อดาวน์โหลด file.doc ในไดเรกทอรีเดียวกัน!
แต่มีปัญหาที่นี่ว่าไม่ปลอดภัยที่จะเขียน Path File.doc โดยตรงใน URL ดังนั้นวิธีแก้ปัญหาควรจัดเก็บ path file.doc ในฐานข้อมูลและรับพา ธ หลังจากค้นหาฐานข้อมูล
หากคุณเพิ่มคำพิพากษาที่จุดเริ่มต้นของโปรแกรมนี้:
ถ้า instr (request.serverVariables ("http_referer"), "http: // ชื่อโดเมนของคุณ") = 0 จากนั้นตอบกลับมันสามารถป้องกันไม่ให้คนอื่นขโมยลิงก์ของพวกเขา