struts2文件下载(文件保存以BLOB类型在数据库中)

2014-11-23 22:59:23 · 作者: · 浏览: 11

贴出代码:


struts2.xml文件







application/x-msdownload;charset=ISO8859-1

downloadFile

attachment;filename="${title}"

${size}


DownloadAction.java
private int id;
private String title;
private int size;
ResultDao rDao = new ResultDao();
// 根据id,从数据库获取指定的文件
public InputStream getDownloadFile() throws Exception {
// 获取文件流
return new ByteArrayInputStream(rDao.findFileById(id));
}
public String execute() throws Exception {
Result r = rDao.findResultById(id);


title = new String(r.getTitle().getBytes(), "ISO8859-1");// 从数据库中获取文件的标题
size = getDownloadFile().available();// 获取文件的大小
return SUCCESS;
}
public void setTitle(String title) {
this.title = title;
}
public void setSize(int size) {
this.size = size;
}
public void setId(int id) {
this.id = id;
}


前台jsp代码



" target="_blank">下载资料