How to pass a reference to a file from Java in xpages -
i sorry english. use translator. there code java. reads database of field posgresql bytea binary data , stores in file:
<code> public static void savetofile() throws ioexception { try { connection conn = jdbcutil.getconnection(facescontext.getcurrentinstance(), "derby1"); resultset rs = conn.createstatement().executequery( "select files test_goverment who='d'"); byte[] imgbytes = null; if (rs != null) { while (rs.next()) { imgbytes = rs.getbytes(1); } fileoutputstream os = new fileoutputstream("c:\\samoutput.txt"); os.write(imgbytes); os.flush(); os.close(); } rs.close(); conn.close(); } catch (sqlexception e) { e.printstacktrace(); enter code here} } </code> how transfer file download user in xpages. , remove after downloading.
you want transfer query result browser client download , don't want save it.
instead of saving query result file first , transfer download later
can stream content direct xpage's response this:
public static void downloadfile() throws ioexception { try { facescontext facescontext = facescontext.getcurrentinstance(); connection conn = jdbcutil.getconnection(facescontext, "derby1"); resultset rs = conn.createstatement().executequery( "select files test_goverment who='d'"); byte[] imgbytes = null; if (rs != null) { while (rs.next()) { imgbytes = rs.getbytes(1); } externalcontext extcon = facescontext.getexternalcontext(); xsphttpservletresponse response = (xsphttpservletresponse)extcon.getresponse(); response.reset(); response.setcontenttype("text/plain"); response.setheader("content-disposition", "attachment; filename=output.txt"); response.setheader("cache-control", "no-cache"); outputstream os = response.getoutputstream(); os.write(imgbytes); os.flush(); facescontext.responsecomplete(); rs.close(); } conn.close(); } catch (sqlexception e) { e.printstacktrace(); } } you might have @ xsnippet. shows how present files download in case want/have stay files instead streams.
Comments
Post a Comment