العمل الأصلي: ممكن_Y، تم تنزيله من Times Classroom
أدخل مباشرة مسار URL لملف doc أو xls أو jpg في شريط عنوان المتصفح، وسيتم عرض الملف مباشرة في المتصفح. في كثير من الحالات، نأمل في ظهور مربع مطالبة بالتنزيل مباشرة ليتمكن المستخدمون من تنزيله. ماذا يجب أن نفعل؟ هناك طريقتان هنا:
1. قم بإعداد iis لخادمك ولاحقات الخريطة مثل doc
2. قم بتعيين نوع المحتوى الخاص به عند الإرسال إلى العميل،
ويتم شرح الطريقة الثانية بالتفصيل أدناه
<%.
Response.Buffer = صحيح
الاستجابة.مسح
عنوان URL الخافت
خافت fso، fl، flsize
dimDname
Dim objStream,ContentType,flName,isre,url1
'****************************************** يتم تمريره عند استدعاء ملف التنزيل اسم
Dname = تقليم (طلب ("ن"))
'********************************************************************************************************************************************************************************* * ****************
إذا كان Dname<>"" إذن
'*********************************دليل الخادم حيث يتم تخزين الملفات التي تم تنزيلها
url=server.MapPath("/")&""&Dname
'********************************************************************************************************************************************************************************* * *
إنهاء إذا
تم تعيين fso=Server.CreateObject("Scripting.FileSystemObject")
تعيين fl=fso.getfile(url)
flsize=fl.size
flName=fl.name
تعيين فلوريدا = لا شيء
تعيين fso=لا شيء
%>
<%
تعيين objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile URL
حدد حالة lcase(Right(flName, 4))
الحالة ".asf"
نوع المحتوى = "فيديو/x-ms-asf"
الحالة ".avi"
نوع المحتوى = "فيديو/افي"
الحالة ".doc"
نوع المحتوى = "التطبيق/msword"
الحالة ".zip"
نوع المحتوى = "التطبيق/الرمز البريدي"
الحالة ".xls"
نوع المحتوى = "التطبيق/vnd.ms-excel"
الحالة ".gif"
نوع المحتوى = "صورة/gif"
حالة ".jpg"، "jpeg"
نوع المحتوى = "صورة/jpeg"
الحالة ".wav"
نوع المحتوى = "الصوت/الرعايا"
حالة ".mp3"
نوع المحتوى = "الصوت/mpeg3"
حالة ".mpg"، "mpeg"
نوع المحتوى = "فيديو/mpeg"
الحالة ".rtf"
نوع المحتوى = "التطبيق/rtf"
الحالة ".htm"، "html"
نوع المحتوى = "نص/أتش تي أم أل"
الحالة ".txt"
نوع المحتوى = "نص/عادي"
حالة أخرى
ContentType = "التطبيق/الدفق الثماني"
إنهاء التحديد
Response.AddHeader "ترتيب المحتوى"، "المرفق؛ اسم الملف =" & flName
Response.AddHeader "طول المحتوى"، حجم
الاستجابة.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
الاستجابة. فلوش
استجابة.مسح ()
objStream.Close
تعيين objStream = لا شيء
%>
احفظ ما يلي في download.asp ثم يمكنك استخدام <aherf=" http://www.downcodes.com/download.asp?n=file.doc">التنزيل!</ a > لتنزيل file.doc في نفس الدليل
ولكن هناك مشكلة هنا وهي أنه من غير الآمن كتابة مسار file.doc مباشرة في عنوان URL، لذا يجب أن يكون الحل هو حفظ مسار file.doc في قاعدة البيانات بعد البحث قاعدة البيانات، يمكنك الحصول على المسار
إذا قمت بإضافة حكم في مقدمة هذا البرنامج:
if instr(Request.ServerVariables("HTTP_REFERER"),"http://your domain name")=0 ثم
الاستجابة.النهاية
end if
يمكن أن يمنع الآخرين من سرقة الروابط.