一、在网上找了很多,对我的项目都没实现,我把网上说的两种合起来用就OK
java代码:
String id = request.getParameter("id");
if(StringUtils.isNotEmpty(id)){
SpmsBaseAnnexImpl annex = new SpmsBaseAnnexImpl();
annex.setId(Long.valueOf(id));
DatabaseUtil.expandEntity("default", annex);
String path = annex.getAnnexPath();
String name = annex.getAnnexName();
String suff = annex.getAnnexSuff();
if(StringUtils.isNotEmpty(path)){
File file = new File(path);
if(suff.endsWith("pdf")){
response.setContentType("application/pdf");
}else{
response.setContentType("multipart/form-data");
}
if(suff.endsWith("pdf")){
response.setHeader("Content-Disposition", "fileName="+URLEncoder.encode(name, "utf-8"));
}else{
response.setHeader("Content-Disposition", "attachment;fileName="+URLEncoder.encode(name, "utf-8"));
}
OutputStream outp;
FileInputStream inputStream = new FileInputStream(file);
outp = response.getOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) > 0)
outp.write(buffer, 0, len);
inputStream.close();
outp.flush();
out.clear();
out = pageContext.pushBody();
outp.close();
}
}