Heim  >  Artikel  >  Java  >  Ausführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen)

Ausführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen)

php是最好的语言
php是最好的语言Original
2018-08-06 17:31:511746Durchsuche

Lassen Sie uns zunächst über die Servlets sprechen, die wir kürzlich untersucht haben. Ein Servlet ist ein Code, der auf dem Server ausgeführt wird.

Servlet verfügt über drei Standard-Servlet-Technologien: Listener-Technologie – Listener und Filer-Technologie – Filter. Die letzten beiden werden in zukünftigen Blogs vorgestellt. Lassen Sie uns darüber sprechen, was ein ServletContext-Objekt ist. Das ServletContext-Objekt stellt eine Webanwendungsumgebung (Kontext) dar, und es gibt nur ein ServletContext-Objekt für eine Webanwendung.

ServletContext ist ein Domänenobjekt – was im Datenbereich gespeichert wird, ist das Domänenobjekt und sein Geltungsbereich umfasst alle Webressourcen.

Lassen Sie uns darüber sprechen, wie Sie Dateien herunterladen, wenn Sie sie auf den Server (den Computer der veröffentlichten Website) legen.

Ausführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen)

Das ist in Ordnung, aber Sie werden auf dieses Problem stoßen. Ich möchte das JPG-Format herunterladen, aber der Browser öffnet sich direkt und lädt nicht herunter, aber das Zip-Format kann heruntergeladen werden. Dies muss per Code festgelegt werden, um zu verhindern, dass der Browser es analysiert. Dies steht zum Download bereit.

Erstellen Sie eine neue Servlet-Datei und schreiben Sie sie in den Get-Code.

		//解决获得中文参数的乱码
		filename=new String(filename.getBytes("ISO8859-1"),"UTF-8");
		//要下载的文件的类型--客户端通过文件的MIME类型去区分类型
		response.setContentType(this.getServletContext().getMimeType(filename));
		//告诉客户端该文件不是直接解析而是以附件的形式打开(下载)
		response.setHeader("Content-Disposition", "attachment;filename="+filename);
		//收获文件的绝对路径
		String path = this.getServletContext().getRealPath("download/"+filename);
		//获得文件的输入流
		FileInputStream in = new FileInputStream(path);
		//获得输出流--通过response获得输出流用于向客户端写内容
		ServletOutputStream out = response.getOutputStream();
		//文件拷贝的模板代码
		int len=0;
		byte[] buffer=new byte[1024];
		while((len=in.read(buffer))>0){
			out.write(buffer, 0, len);
		}
		in.close();
		out.close();

Dieser Ausgang kann ausgeschaltet werden oder nicht, aber der Eingang muss ausgeschaltet werden, da er neu im Programm ist. out wird nach dem Ausführen des Programms automatisch geschlossen.

Ausführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen)

Das ist es.

Dies entspricht der Ressource auf dem Server.

Ausführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen)

Verwandte Empfehlungen:

Java-Analyse von XML-Dateien

Java-Ordneranalyse

Das obige ist der detaillierte Inhalt vonAusführliches Tutorial zum Herunterladen von Java-Dateien (ohne Parsen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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