Maison  >  Article  >  Java  >  Tutoriel détaillé sur le téléchargement de fichiers Java (sans analyse)

Tutoriel détaillé sur le téléchargement de fichiers Java (sans analyse)

php是最好的语言
php是最好的语言original
2018-08-06 17:31:511746parcourir

Parlons d’abord des servlets que nous avons récemment étudiées. Un servlet est un morceau de code exécuté sur le serveur.

la servlet dispose de trois technologies de servlet standard, la technologie d'écoute - écouteur et la technologie de filer - filtre. Les deux derniers seront présentés dans les prochains blogs. Parlons de ce qu'est un objet ServletContext. L'objet ServletContext représente un environnement d'application Web (contexte) et il n'existe qu'un seul objet ServletContext pour une application Web.

ServletContext est un objet de domaine - ce qui est stocké dans la zone de données est l'objet de domaine et sa portée est toutes les ressources Web.

Parlons de la façon de télécharger le fichier si vous placez le fichier sur le serveur (l'ordinateur du site Web publié).

Tutoriel détaillé sur le téléchargement de fichiers Java (sans analyse)

C'est bien, mais vous rencontrerez ce problème. Je souhaite télécharger le format jpg, mais le navigateur s'ouvre directement et ne télécharge pas, mais le format zip peut être téléchargé. Cela doit être défini via du code pour empêcher le navigateur de l'analyser. Ceci est prêt à être téléchargé.

Créez un nouveau fichier Servlet et écrivez-le dans le code get.

		//解决获得中文参数的乱码
		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();

Cette sortie peut être désactivée ou non, mais cette entrée doit être désactivée car elle est nouvelle dans le programme. out se fermera automatiquement après l’exécution du programme.

Tutoriel détaillé sur le téléchargement de fichiers Java (sans analyse)

C'est tout.

Cela équivaut à la ressource du serveur.

Tutoriel détaillé sur le téléchargement de fichiers Java (sans analyse)

Recommandations associées :

analyse Java des fichiers XML

analyse des dossiers Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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