Hi, I writing a engine service to download/export a file (application/octet-stream). Because THE file is from FTP site, I cannot get actual link form getLink() method. I try to use program as following: (Not in Service)
FileInputStream fis = new FileInputStream(file); in = new BufferedInputStream(fis); WebResponse response = getPage().getRequestCycle().getInfrastructure().getResponse(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int c; while ( ( c = fis.read() ) != -1 ) { baos.write( c ); } fis.close(); outputStrem = response.getOutputStream(new ContentType("application/octet-stream")); response.setDateHeader("max-age", 0); response.setHeader("Content-transfer-encoding", "binary"); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.setContentLength(fileLength); response.setHeader("Connection", "keep-alive"); response.setHeader("Expires", "600000"); response.setHeader("Cache-Control", "public, post-check=0, pre-check=0"); outputStrem.write(baos.toByteArray()); outputStrem.flush(); outputStrem.close(); in.close(); in = null; And I got Error: [java] 17:24:38,888 ERROR ServletWebResponse:132 - Unable to reset response buffer: Committed [java] java.lang.IllegalStateException: Committed [java] at org.mortbay.jetty.servlet.ServletHttpResponse.resetBuffer(ServletHttpResponse.jav a:212) [java] at org.mortbay.jetty.servlet.ServletHttpResponse.reset(ServletHttpResponse.java:221) [java] at org.apache.tapestry.web.ServletWebResponse.reset(ServletWebResponse.java:128) [java] at org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java :90) [java] at $WebResponse_1100e16f32a.getPrintWriter($WebResponse_1100e16f32a.java) [java] at $WebResponse_1100e16f1fe.getPrintWriter($WebResponse_1100e16f1fe.java) [java] at org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRen dererImpl.java:67) [java] at $ResponseRenderer_1100e16f21a.renderResponse($ResponseRenderer_1100e16f21a.java) [java] at org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresen terImpl.java:46) [java] at $ExceptionPresenter_1100e16f208.presentException($ExceptionPresenter_1100e16f208. java) [java] at org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.ja va:121) [java] at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280) [java] at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerm inator.java:60) [java] at $WebRequestServicer_1100e16f262.service($WebRequestServicer_1100e16f262.java) [java] at org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilt er.java:4Cool [java] at $WebRequestServicerFilter_1100e16f264.service($WebRequestServicerFilter_1100e16f2 64.java) [java] at $WebRequestServicer_1100e16f266.service($WebRequestServicer_1100e16f266.java) [java] at $WebRequestServicer_1100e16f25e.service($WebRequestServicer_1100e16f25e.java)... I cannot find any support documents on the web. What does it mean? So please Help... -- View this message in context: http://www.nabble.com/Outputing-a-file-from-FTP-site-tf2956453.html#a8270512 Sent from the Tapestry - User mailing list archive at Nabble.com.