Dans la barre d'adresse du navigateur, entrez directement le chemin d'accès URL d'un fichier DOC ou XLS ou JPG, et le fichier sera affiché directement dans le navigateur. Dans de nombreux cas, nous espérons apparaître directement la boîte d'invite de téléchargement à télécharger les utilisateurs. Que devons-nous faire? Voici deux méthodes:
1. Configurez l'IIS de votre serveur et mappez les noms de suffixe tels que DOC.
2. Définissez son contenuype lors de l'envoi au client.
La méthode 2 est expliquée en détail ci-dessous
Code du programme:
<% Response.Buffer = True Response.Clear Dim Url Dim Fso, FL, FlSize Dim Dname Dim Objstream, ContentType, Flname, Isre, URL1 '****************************************************** Le nom du fichier de télécharge '*******************************************************************************************************************************************************************. est url = server.mappath ("/") & "/" & dname '************************************************** End Si set fso = server.CreateObject ("Scripting.FileSystemObject") Set fl = fso.getFile (URL) FLOSIZE = FL.Size Flname = Fl.Name Set FL = RIEN Set> Fl.Size Flname = Fl.Name Set FL = Nothuth objstream = server.createObject ("adodb.stream") objstream.open objstream.type = 1 objstream.loadFromfile url select case lcase (right (flname, 4)) case ".Asf" ContentType = "vidéo / x-ms-asf" case ".AVI" ContentType = "vidéo / avi" case ".doc". "application / msword" case ".zip" contentType = "application / zip" case ".xls" contentType = "application / vnd.ms-excel". "Case audio / mpeg3" ".mpg", "mpeg" contentType = "vidéo / mpeg" case ".rtf" contentType = "application / rtf" case ".htm", "html" contenttype = "text / html" case ".txt" contenu) Response.Addheader "Content-Disposition", "attachement; fileName = "& flName réponse.addheader" contenu-longueur ", flSize réponse.charset =" utf-8 "réponse.contentType = contentType Response.binarywrite objstream.read a réponse.flush réponse.clear () objstream.close set objstream = rien%>Enregistrez les éléments suivants en téléchargement.asp et vous pouvez utiliser <aherf = "http://xxx.xxx.com/download.asp?n=file.doc"> Télécharger! </a> Pour télécharger file.doc dans le même répertoire!
Mais il y a un problème ici qu'il n'est pas sûr d'écrire directement le chemin File.doc dans l'URL, de sorte que la solution devrait être de stocker le chemin File.doc dans la base de données et d'obtenir le chemin après avoir recherché la base de données
Si vous ajoutez un jugement au début de ce programme:
Si instir (request.serverVariables ("http_referrer"), "http: // votre nom de domaine") = 0 alors réponse.end finCela peut empêcher d'autres personnes de voler leurs liens.