进行下载文件时,首先要确定要下载的文件所在服务器的位置,然后可以在页面中以连接形式发送下载请求,并在Servlet中使用IO流处理下载,将下载的文件流作为响应 返回既可以了!
创建下载索引页面时,可以用getServletContext().getRealPat()方法得到每个文件的下载路径,同时通过下载链接发送下载请求:
关键的servlet代码:
String path = new String(request.getParameter("下载页面传来的路径").getBytes("utf-8")); File file = new File(path);// 得到要下载的文件 InputStream in = new FileInputStream(file);// 通过file建立输入流 OutputStream outputStream = response.getOutputStream();// 通过响应建立输出流 //为响应头信息添加Content-Disposition元素 response.addHeader("Content-Disposition", "attachment;filename= " + new String(file.getName().getBytes("iso-8859-1"), "utf-8")); //为响应头信息添加Content-Length 元素 response.addHeader("Content-Length", String.valueOf(file.length())); request.setCharacterEncoding("utf-8"); response.setContentType("application/octet-stream");//设置响应类型 int date = 0; while( (date = in.read()) != -1 ){ outputStream.write(date); } outputStream.close(); in.close();