关闭

Java web中上传和下载详解(下)

标签: Java web文件下载
14450人阅读 评论(0) 收藏 举报
分类:

文件下载:

  1. 被下载的文件必须放到WEB-INF下面,不能让用户直接访问到。然后通过servlet下载就行。下载很简单,如下
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		
    		String fileName = request.getParameter("path");
    		//处理中文乱码问题
    		fileName = new String(fileName.getBytes("ISO-8859-1"),"utf-8");
    		//得到文件保存路径
    		String filePath = this.getServletContext().getRealPath("/WEB-INF/download")+"\\"+fileName;
    		
    		File file = new File(filePath);
    		//如果文件不存在
    		if(!file.exists()){
    			System.out.println("文件不存在");
    			return;
    		}
    		
    		if(request.getHeader("User-Agent").contains("MSIE")){//是IE浏览器
    			//这样处理
    			fileName = new String(fileName.getBytes("gbk"),"ISO-8859-1");
    		}else{
    			//其他浏览器这样处理
    			fileName = new String(fileName.getBytes("utf-8"),"ISO-8859-1");
    		}
    		
    		//设置响应头信息,并在浏览器弹出框中设置显示的文件名
    		response.addHeader("content-disposition", "attachment;filename="+fileName);
    		//使用commons包类实现下载
    		IOUtils.copy(new FileInputStream(file), response.getOutputStream());
    		
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doGet(request, response);
    	}


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    欢迎关注个人微信号
      欢迎关注微信账号:在路上的coder .每天一篇java相关或互联网相关的文章




    个人资料
    • 访问:809698次
    • 积分:2827
    • 等级:
    • 排名:第14210名
    • 原创:86篇
    • 转载:4篇
    • 译文:0篇
    • 评论:25条
    资源分享地址
    个人博客地址
    博客专栏
    最新评论