Heim  >  Artikel  >  Web-Frontend  >  Beispiel für das Herunterladen von Anhängen mit Java- und Javascript-Kenntnissen

Beispiel für das Herunterladen von Anhängen mit Java- und Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:39:321295Durchsuche

In der Webentwicklung ist es oft notwendig, das „Download“-Modul zu entwickeln. Nachfolgend finden Sie ein einfaches Beispiel.

Verwenden Sie auf der Serverseite die Java-Entwicklung:

@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(); 
} 
} 
}

Wenn wir diese Adresse im Frontend anfordern, findet der Server zuerst die Datei, legt den Antwortheader fest und gibt ihn dann über den Stream an den Browser aus.

Wenn der Browser feststellt, dass der Hauptteil der Antwort eine Stream-Datei im Header ist, ruft er automatisch das Fenster „Speichern unter“ auf, damit der Benutzer den Download speichern kann.

Der Schlüssel hier ist das Header-Attribut Content-Disposition. Content-Disposition ist eine Erweiterung des MIME-Protokolls und wird verwendet, um dem Client anzuweisen, wie die angehängte Datei angezeigt werden soll.

Es kann auf zwei Werte eingestellt werden:

inline //Online öffnen

Anhang //Als Anhang herunterladen

Der Wert, den wir hier festlegen, ist Anhang, sodass er als Anhang erkannt und heruntergeladen werden kann.

Oben wird beschrieben, wie Sie die Serverseite schreiben, und im Folgenden wird beschrieben, wie Sie das Frontend anfordern.

Es gibt drei Möglichkeiten, Front-End-Anfragen zu stellen:

1.Formular

<form action='download.html' method='post'> 
<input type='submit'/> 
</form>

2.iframe

var iframe = "<iframe style='display:none' src='download.html'></iframe>" 
body.append(iframe);

Wenn der Iframe an den Text angehängt wird, wird der Download-Link automatisch angefordert.

3.öffnen

window.open("download.html");

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn