//获取要下载的路径---可用ServletContext.getRealPath()方法获取路径,这里直接给了绝对路径来测试 String realPath = "E:\\javafile\\java\\servlet\\servlet01-maven\\src\\main\\resources\\1.jpg"; //下载的文件名 String fileName = realPath.substring(realPath.lastIndexOf("\\")+1); //设置想办法让浏览器能够支持下载我们的需要的东西,中文文件名URLEncoder.encode编码 resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName,"utf-8")); //获取下载文件的输入流 FileInputStream in = new FileInputStream(realPath); //创建缓冲区 int len = 0; byte[] buffer = new byte[1024]; //获取OutPutStream对象 ServletOutputStream out = resp.getOutputStream(); //将FileOutputStream流写入到buffer缓冲区,使用OutputStream将缓冲区中的数据输入到客户端 while ((len = in.read(buffer))>0){ out.write(buffer,0,len); } //关闭流 in.close(); out.close();