Bạn đã bao giờ thất vọng khi bạn vào một trang web và có tài liệu, hình ảnh và nội dung khác có sẵn để tải xuống và bạn muốn làm điều đó, tải về nó! Thay vào đó, khi bạn nhấp vào một mục nội dung, nó sẽ tiến hành mở trong trình duyệt của bạn. Tôi đã chống lại vấn đề này trong một dự án cho một công ty y tế và họ cần các tệp PDF của họ được tải xuống và không được mở. Vâng, có một cách để làm cho nó mở hộp thoại Save As.

Đối với hướng dẫn này, chúng tôi sẽ giả sử các tệp được lưu trữ cục bộ trên máy chủ chứ không phải trong cơ sở dữ liệu. (Đó là một cuộc thảo luận hoàn toàn khác)

Đầu tiên, bạn cần biết vị trí của các tập tin của bạn. Vì vậy, hãy giả sử các tập tin của bạn được đặt tại //yourserver.com/files/filename.ext. Chúng tôi sẽ giả sử rằng Server.MapPath là "/ files".

Vì vậy, tại thời điểm này, hãy để cùng nhau tạo ra tệp ASP sẽ kiểm soát việc tải xuống tệp. Bắt đầu bằng cách tạo một tài liệu mới, trống, bằng NotePad hoặc trình soạn thảo HTML yêu thích của bạn. Đặt mã ASP sau:

<%
'=======================
'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
%>


Đó là nó cho một. Bây giờ, lưu và tải tệp này lên máy chủ của bạn và đặt tên là tệp tải xuống.asp

Bây giờ, hãy nói với tên tập tin trên máy chủ của bạn là Familytree.pdf

Sau đó, bạn chỉ cần chuyển URL sau trong trình duyệt của mình và hộp thoại Lưu dưới dạng Mở sẽ bật lên.

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

Thế là xong! Sau đó bạn sẽ thấy điều này:



Chúc may mắn và bạn có thể cải thiện điều này bằng cách sử dụng cơ sở dữ liệu và các chức năng thú vị khác để đảm bảo rằng các tệp bạn muốn người dùng truy cập được cung cấp khả năng tải xuống và không mở trong trình duyệt web hiện tại của họ cho phép họ "ở lại" trên trang web của bạn .

Video HướNg DẫN: Cách đối trị HỒI HỌP LO ÂU BUỒN PHIỀN - Thầy Thích Pháp Hòa 2018 (Có Thể 2024).