tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jon Wingfield <jon.wingfi...@mkodo.com>
Subject Re: IE6 and download problem using tomcat java servlet
Date Tue, 14 Sep 2004 14:00:12 GMT
IE feels the need to cache the content before saving it to the desired 
location. You probably have some headers in the response designed to 
stop caching. You could comment in the RequestDumperValve to confirm this.

Add to your code:

response.setHeader("Pragma", "public");

We saw similar problems for downloads from urls within our 
security-constraint. They went away when we added this header.

HTH,

Jon


Terry Orechia wrote:
> I am having a problem downloading a jpeg file from a tomcat java servlet to Internet
Explorer 6.0.  I have changed the file extension to "zzz" to force the download prompt.  
  If I restart tomcat(version 4.1.x), the download works fine the first time.  The correct
filename "video.zzz" appears on the prompt and I can hit save and it will prompt me as ti
where I want to save the file.   However, after the first time I get a download prompt with
an incorrect filename (the filename is the http query request).  If I select "save",then 
it does not prompt for a location to save and I immediately get error "Internet explorer was
not able to open the requested site".     Is there something else that needs to be set in
the http header?
> 
> 
> Here is the piece of the java servlet that is issueing the download:
> 
> response.setContentType("APPLICATION/OCTET-STREAM");
> 
> response.setHeader("Content-Disposition", "Attachment;Filename=\"video"+videoid+".zzz\"");
> 
> String size=Integer.toString((int)file.length());
> 
> response.setHeader("Content-Length",Integer.toString((int)file.length()));
> 
> 
> try {
> 
>     out = response.getWriter();
> 
>     // transfer the file byte-by-byte to the response object
> 
>     File fileToDownload = new File("c:\video.zzz");
> 
>     FileInputStream fileInputStream = newFileInputStream(fileToDownload);
> 
>     int i;
> 
>         while ((i=fileInputStream.read())!=-1)
> 
>         {
> 
>             out.write(i);
> 
>     }
> 
>     fileInputStream.close();
> 
>     out.close();
> 
> }catch(Exception e) // file IO errors
> 
> {
> 
> e.printStackTrace();
> 
> }
> 
> 
> 
> Thanks,
> 
> Terry
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message