You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by sunnyyoung <su...@yahoo.com> on 2007/01/11 02:44:07 UTC

Outputing a file from FTP site

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.