Maison >Java >javaDidacticiel >Comment implémenter la fonction de téléchargement de fichiers dans Java Servlet ?

Comment implémenter la fonction de téléchargement de fichiers dans Java Servlet ?

王林
王林avant
2023-04-26 18:37:081708parcourir

1. Description

Servlet est une technologie développée par Sun Corporation pour parcourir et générer des données de manière interactive et générer du Web dynamique. Servlet au sens étroit fait référence à une interface implémentée par le langage Java. Mais généralement, nous appelons le programme Java qui implémente l'interface Servlet Servlet

2 Utilisez le programme servlet pour télécharger

//得到需要下载的文件
String path = this.getServletContext().getRealPath("/upload/9/1/图片1.png");
File file = new File(path);
//读取服务器本地的文件
FileInputStream in = new FileInputStream(file);
/**
 * 处理URL编码问题
 */
String fileName = file.getName();
//对文件名进行URl编码
fileName = URLEncoder.encode(fileName, "utf-8");
//判断不同浏览器
String userAgent = request.getHeader("user-agent");
String filefix = null;
if(userAgent.contains("Trident")){
//IE
filefix = "filename="+fileName;
}else if(userAgent.contains("Firefox")){
//Firefox
filefix = "filename*="+fileName;
}else{
filefix = "filename="+fileName;
}
//告诉浏览器以下载方式打开资源
response.setHeader("Content-Disposition", "attachment;"+filefix);
//把本地文件发送给浏览器
byte[] buf = new byte[1024];
int len = 0;
while( (len=in.read(buf))!=-1 ){
response.getOutputStream().write(buf, 0, len);
}
//关闭
in.close();
.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer