Dans le développement Web, il est souvent nécessaire de développer le module "Télécharger". Voici un exemple simple.
Côté serveur, utilisez Java pour développer:
@RequestMapping (value = "download.html", méthode = requestMethod.get) public void download (String ResourceID, httpservletRequest request, httpservletResponse réponse) {réponse.setContentType ("charSet = ut-8"); Fichier fichier = nouveau fichier (chemin); Response.sethEader ("Content-Disposition", "attachement; filename = a"); BufferedInputStream bis = null; BuffredOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try {fis = new FileInputStream (file.getAbsolutepath ()); bis = new BufferedInputStream (FIS); fos = réponse.getOutputStream (); BOS = nouveau tampondoutputStream (FOS); int byTesRead = 0; octet [] tampon = nouveau octet [5 * 1024]; while ((bytesRead = bis.read (tampon))! = -1) {bos.write (tampon, 0, bytesRead); } bos.flush (); } catch (e e) {} enfin {try {bis.close (); bos.close (); fos.close (); fis.close (); } catch (ioException e) {e.printStackTrace (); }}}Lorsque nous demandons cette adresse à l'avant, le serveur trouve d'abord le fichier, définit l'en-tête de réponse, puis le diffuse sur le côté du navigateur via le flux.
Si le navigateur trouve dans l'en-tête que le corps de la réponse est un fichier de flux, il appellera automatiquement la fenêtre Enregistrer sous forme de fenêtre pour permettre à l'utilisateur d'enregistrer le téléchargement.
Une clé ici est la propriété d'en-tête de la disposition du contenu. La disposition du contenu est une extension du protocole MIME pour indiquer comment permettre au client afficher le fichier de pièce jointe.
Il peut être défini sur deux valeurs:
en ligne // ouvert en ligne
pièce jointe // Télécharger comme pièce jointe
Ici, nous définissons la valeur sur la pièce jointe, donc elle peut être reconnue comme une pièce jointe et téléchargée.
Ce qui précède explique comment écrire du côté serveur, et ce qui suit explique comment demander le frontal.
Il existe trois façons de demander front-end:
1. forme
<formulaire form = 'download.html' méthode = 'post'> <input type = 'soume' /> </ form>
2.
var iframe = "<iframe style = 'display: Aucun' src = 'download.html'> </ iframe>" body.append (iframe);
Lorsqu'un iframe est ajouté au corps, le lien de téléchargement sera automatiquement demandé.
3.
window.open ("download.html");