You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Evgeniy Strokin <ev...@yahoo.com> on 2001/09/06 17:43:56 UTC

How download file from servlet?

HI

I trying make servlet for downloading of files.
When I use:
FileInputStream fl=new FileInputStream(dir);
        byte b[]=new byte[4096];
        int len=0;
        ServletOutputStream souts=_response.getOutputStream();
        while(len!=-1){
          len=fl.read(b);
          if(len!=-1)souts.write(b,0,len);
        }
I get:
E:1933 java.lang.IllegalStateException: Writer is already being used for
this request
In this string:
        ServletOutputStream souts=_response.getOutputStream();

Anyway, maybe you know better way how do this thing?

Thanks
Jenya

---------------------------------------------------------------
NetZero Platinum
Only $9.95 per month!
Sign up in September to win one of 30 Hawaiian Vacations for 2!
http://my.netzero.net/s/signup?r=platinum&refcd=PT97

RE: How download file from servlet?

Posted by Martin van den Bemt <ma...@isallineed.org>.
There is already a _response.getWriter() or getOutputStream() before your
code snippet....

Mvgr,
Martin

> -----Original Message-----
> From: Evgeniy Strokin [mailto:evgeniy_strokin@yahoo.com]
> Sent: Thursday, September 06, 2001 5:44 PM
> To: Tomcat-User@Jakarta. Apache. Org
> Subject: How download file from servlet?
>
>
> HI
>
> I trying make servlet for downloading of files.
> When I use:
> FileInputStream fl=new FileInputStream(dir);
>         byte b[]=new byte[4096];
>         int len=0;
>         ServletOutputStream souts=_response.getOutputStream();
>         while(len!=-1){
>           len=fl.read(b);
>           if(len!=-1)souts.write(b,0,len);
>         }
> I get:
> E:1933 java.lang.IllegalStateException: Writer is already being used for
> this request
> In this string:
>         ServletOutputStream souts=_response.getOutputStream();
>
> Anyway, maybe you know better way how do this thing?
>
> Thanks
> Jenya
>
> ---------------------------------------------------------------
> NetZero Platinum
> Only $9.95 per month!
> Sign up in September to win one of 30 Hawaiian Vacations for 2!
> http://my.netzero.net/s/signup?r=platinum&refcd=PT97
>


Re: How download file from servlet?

Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Thu, 6 Sep 2001, Evgeniy Strokin wrote:

> Date: Thu, 6 Sep 2001 11:43:56 -0400
> From: Evgeniy Strokin <ev...@yahoo.com>
> Reply-To: tomcat-user@jakarta.apache.org
> To: "Tomcat-User@Jakarta. Apache. Org" <to...@jakarta.apache.org>
> Subject: How download file from servlet?
>
> HI
>
> I trying make servlet for downloading of files.
> When I use:
> FileInputStream fl=new FileInputStream(dir);
>         byte b[]=new byte[4096];
>         int len=0;
>         ServletOutputStream souts=_response.getOutputStream();
>         while(len!=-1){
>           len=fl.read(b);
>           if(len!=-1)souts.write(b,0,len);
>         }
> I get:
> E:1933 java.lang.IllegalStateException: Writer is already being used for
> this request
> In this string:
>         ServletOutputStream souts=_response.getOutputStream();
>
> Anyway, maybe you know better way how do this thing?
>

This error means that, somewhere while processing the same request, your
servlet called response.getWriter().  You can only get a writer *or* an
output stream for a particular response (depending on whether you want to
send characters or bytes).  You cannot get both.

> Thanks
> Jenya
>

Craig