Maison > interface Web > js tutoriel > le corps du texte

Exemple de téléchargement de pièces jointes à l'aide des compétences Java et javascript_javascript

WBOY
Libérer: 2016-05-16 16:39:32
original
1337 Les gens l'ont consulté

En développement web, il est souvent nécessaire de développer le module "téléchargement". Un exemple simple est donné ci-dessous.

Côté serveur, utilisez le développement java :

@RequestMapping(value = "download.html", method = RequestMethod.GET) 
public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) { 
response.setContentType("charset=UTF-8"); 
File file = new File(path); 
response.setHeader("Content-Disposition", "attachment; filename=a"); 
BufferedInputStream bis = null; 
BufferedOutputStream bos = null; 
OutputStream fos = null; 
InputStream fis = null; 
try { 
fis = new FileInputStream(file.getAbsolutePath()); 
bis = new BufferedInputStream(fis); 
fos = response.getOutputStream(); 
bos = new BufferedOutputStream(fos); 
int bytesRead = 0; 
byte[] buffer = new byte[5 * 1024]; 
while ((bytesRead = bis.read(buffer)) != -1) { 
bos.write(buffer, 0, bytesRead); 
} 
bos.flush(); 
}catch(E e){ 
}finally { 
try { 
bis.close(); 
bos.close(); 
fos.close(); 
fis.close(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
} 
}
Copier après la connexion

Lorsque nous demandons cette adresse sur le front-end, le serveur trouve d'abord le fichier, définit l'en-tête de réponse, puis l'envoie au navigateur via le flux.

Si le navigateur constate que le corps principal de la réponse est un fichier de flux dans l'en-tête, il appellera automatiquement la fenêtre Enregistrer sous pour permettre à l'utilisateur d'enregistrer le téléchargement.

La clé ici est l'attribut d'en-tête Content-Disposition. Content-Disposition est une extension du protocole MIME et est utilisé pour indiquer au client comment afficher le fichier joint.

Il peut être défini sur deux valeurs :

en ligne //Ouvrir en ligne

pièce jointe //Télécharger en pièce jointe

La valeur que nous définissons ici est pièce jointe, elle peut donc être reconnue comme pièce jointe et téléchargée.

Ce qui précède décrit comment écrire côté serveur, et ce qui suit décrit comment demander le front-end.

Il existe trois façons de faire des requêtes frontales :

1.Formulaire

<form action='download.html' method='post'> 
<input type='submit'/> 
</form>
Copier après la connexion

2.iframe

var iframe = "<iframe style='display:none' src='download.html'></iframe>" 
body.append(iframe);
Copier après la connexion

Lorsque l'iframe est ajoutée au corps, le lien de téléchargement sera automatiquement demandé.

3.ouvrir

window.open("download.html");
Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!