这个也是从网找的代码攒的,做个记录,以后可能会用得着。表里即存了文件的内容,也存了文件的类型。
String xh = request.getParameter("xh")==null?"":request.getParameter("xh").toString();
Connection con = JdbcUtilsHelper.getConnection();
PreparedStatement pstm = con.prepareStatement("select wjnr,wjlx from table where xh=?");
pstm.setString(1, xh);
ResultSet rs = pstm.executeQuery();
if(rs.next()){
Blob blob = rs.getBlob(1);
String wjlx = rs.getString(2);
if(blob != null){
InputStream ins = blob.getBinaryStream();
response.setContentType("application/x-msdownload");
response.addHeader("Content-Disposition", "attachment; filename=data."+wjlx);
OutputStream outStream = response.getOutputStream();
byte[] bytes = new byte[1024];
int len = 0;
while ((len=ins.read(bytes))!=-1) {
outStream.write(bytes,0,len);
}
out.clear();
out = pageContext.pushBody();
ins.close();
outStream.close();
outStream = null;
con.commit();
con.close();
}else{
out.print("下载文件失败!文件内容为空!");
}
}else{
out.print("下载文件失败!没有找到相关记录!");
}