评论

收藏

[JSP] jsp 文件下载示例代码

开发技术 开发技术 发布于:2021-10-23 18:08 | 阅读数:231 | 评论:0

有的时候一个模板的下载,这种简单的下载服务端已存在文件功能,就可以方便的通过jsp文件下载的方式来轻松实现。
DSC0000.jpg
//jsp 页面 js
/** 
* 导出角色 
*/ 
function exportRole(){ 
var user_id = $('input[name=userListRadio]:checked').attr('id'); 
if(!user_id ||user_id == ''){ 
showinfo('请选择用户!'); 
return; 
} 
var param = {}; 
param.home_city = $('#query_role_region1').combobox('getValue'); 
param.home_county = $('#query_role_region2').combobox('getValue'); 
param.role_id = $('#query_role_id').val(); 
param.role_name = $('#query_role_name').val(); 
param.user_id = user_id; 
param.is_export = "true"; 
$('#maskDiv').mask({ 
maskMsg:'正在导出...请稍后...' 
}); 
window.location.href = 'pri_user_grant_exportRole.jsf?'+$.param(param); 
}
//jsp下载页面
<%@page import="java.io.OutputStream"%> 
<%@page import="java.io.PrintWriter"%> 
<%@page import="java.io.FileNotFoundException"%> 
<%@page import="java.io.File"%> 
<%@page import="java.io.FileInputStream"%> 
<%@ page contentType="text/html; charset=gb2312"%> 
<% 
//打开指定文件的流信息 
String fileName = "58918-2-import_template.xls"; 
String filepath = request.getRealPath("bassdqm/sqlcheck/template/"+fileName); 
System.out.println(filepath); 
FileInputStream fs = null; 
try { 
fs = new FileInputStream(new File(filepath)); 
}catch(FileNotFoundException e) { 
e.printStackTrace(); 
return; 
} 
//设置响应头和保存文件名 
response.reset(); 
response.setContentType("application/vnd.ms-excel"); 
response.setHeader("Content-Disposition", "inline; filename="" + fileName + """); 
//写出流信息 
int b = 0; 
try { 
OutputStream ops = response.getOutputStream(); 
while((b=fs.read())!=-1) { 
ops.write(b); 
} 
fs.close(); 
out.clear(); 
out = pageContext.pushBody(); 
}catch(Exception e) { 
e.printStackTrace(); 
System.out.println("下载文件失败!"); 
} 
%>
关注下面的标签,发现更多相似文章