javaWeb文件的上传和下载(-) 文件的下载
- jsp的代码部分
<a href="${pageContext.request.contextPath}/fileDownload?fileName=哈哈.rar">压缩包</a>
- servlet的代码部分
// 接收文件名
String fileName = request.getParameter("fileName");
// 处理中文乱码问题
fileName = new String(fileName.getBytes("iso-8859-1"),"utf-8");
// 设置两头
response.setContentType(this.getServletContext().getMimeType(fileName));
response.setHeader("content-disposition","attachment;fileName="+fileName);
// 获取目标下载文件的具体路径
// 列如,本案例中的下载资源 哈哈.rar 是在项目的WebRoot下的resources的文件夹内
String path = this.getServletContext().getRealPath("/resources");
// 创建文本对象
File file = new File(path,fileName);
// 设置两流
InputStream in = new FileInputStream(file);
OutputStream out = response.getOutputStream();
int b;
while((b=in.read()) != -1 ){
write(b);
}
in.close();
out.close();