האם התסכלת אי פעם כשאתה מגיע לאתר שיש מסמכים, תמונות ותכנים אחרים שניתן להוריד, ואתה רוצה לעשות בדיוק את זה, הורד את זה! במקום זאת, כאשר אתה לוחץ על פריט תוכן, הוא ממשיך להיפתח בדפדפן שלך. עמדתי נגד הנושא הזה במהלך פרויקט של חברת רפואה והם היו צריכים להוריד את קבצי ה- PDF שלהם ולא לפתוח אותם. ובכן, יש דרך לגרום לזה לפתוח את תיבת הדו-שיח שמירה בשם.

להדרכה זו נניח שהקבצים מאוחסנים באופן מקומי בשרת ולא במסד נתונים. (זה דיון אחר לגמרי)

ראשית, עליך לדעת את מיקום הקבצים שלך. אז נניח שהקבצים שלך נמצאים ב //yourserver.com/files/filename.ext. אנו נניח ש- Server.MapPath הוא "/ קבצים".

לכן, בשלב זה, בואו ליצור את קובץ ה- ASP שישלט על הורדת הקובץ. התחל ביצירת מסמך ריק, ריק באמצעות NotePad או עורך ה- HTML המועדף עליך. מקם את קוד ה- ASP הבא:

<%
'=======================
'Define the names of your functions
'=======================
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
'=======================
'Get the actual file name from the URL that is passed to the browser
'=======================
FileName = request.querystring("filename") 'Get the name from the URL
'=======================
'GIVE AN ERROR MESSAGE IF THE URL IS EMPTY
'=======================
if FileName = "" Then
response.write "Filename Not specified."
response.end
end if
'=======================
'prevent access to certain files
'=======================
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
select case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
response.write "You cannot access these file types."
response.end
end select
'=======================
'Start the download process if all is good
'=======================
response.clear
response.contentType = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & FileName
set stream = server.CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.LoadFromFile Server.MapPath("/files") & FileName
while not stream.EOS
response.BinaryWrite Stream.Read(1024 * 64)
wend
stream.Close
Set stream = Nothing
response.Flush
response.End
%>


זהו זה בשביל זה. כעת, שמור והעלה קובץ זה לשרת שלך ושמו אותו filenownloader.asp

עכשיו נניח כי שם הקובץ בשרת שלך הוא familytree.pdf

לאחר מכן פשוט תעביר את כתובת האתר הבאה בדפדפן שלך ותיבת הדו-שיח File Save as Open תופיע.

//yourserver.com/filedownloader.asp?filename=familytree.pdf

זהו זה! אז אתה אמור לראות את זה:



בהצלחה ותוכלו לשפר זאת על ידי שימוש בבסיסי נתונים ופונקציות מגניבות אחרות כדי לוודא שהקבצים אליהם ברצונכם שהמשתמשים שלהם יגיעו יקבלו את האפשרות להוריד ולא לפתוח בדפדפן האינטרנט הנוכחי שלהם, ומאפשרים להם "להישאר" באתר האינטרנט שלך. .

הוראות וידאו: Technology Stacks - Computer Science for Business Leaders 2016 (אַפּרִיל 2024).