如何在java中使用Servlet下载文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
说明
Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。狭义的Servlet是指Java语言实现的一个接口。但一般情况下,我们把实现了Servlet接口的Java程序叫做Servlet
2、使用servlet程序下载
//得到需要下载的文件String path = this.getServletContext().getRealPath("/upload/9/1/图片1.png");File file = new File(path);//读取服务器本地的文件FileInputStream in = new FileInputStream(file);String fileName = file.getName();//对文件名进行URl编码fileName = URLEncoder.encode(fileName, "utf-8");//判断不同浏览器String userAgent = request.getHeader("user-agent");String filefix = null;if(userAgent.contains("Trident")){//IEfilefix = "filename="+fileName;}else if(userAgent.contains("Firefox")){//Firefoxfilefix = "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();
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。