<%@page contentType="application/octet-stream" buffer="32kb" pageEncoding="UTF-8" import="java.io.*, javax.sql.*, java.net.*"%><% String filename = ~~~filename~~~; ResultSet rs = (~~~ query ~~~); Blob b = rs.getBlob(1); response.setHeader("Content-Disposition","attachment; filename=\"" + URLEncoder.encode(filename, "UTF-8") + "\";"); response.setHeader("Content-Length", "" + b.length()); InputStream is = b.getBinaryStream() OutputStream os = response.getOutputStream(); byte[] buffer = new byte[102400]; int n = -1; while((n = is.read(buffer)) != -1) { os.write(buffer, 0, n); } is.close(); os.close(); %>