Below is some code i wrote to do this. is some code i wrote:

Note the doc object is specific to my app it has methods for returning the
content type, filename, and a File object pointing to the document on disk.

I have used almost identicle code for outputting pdf data.  I think you can
use "attachment" rather than "inline" to make the browser save the file
rather than view it.

Daniel.


// set response headers
response.setHeader("Cache-Control", "max-age=600");
response.setContentType(doc.getContentType());

//Send content to Browser
StringBuffer cd = new StringBuffer();
cd.append("inline");
cd.append("; filename=");
cd.append(doc.getFilename());
response.setHeader("Content-disposition", cd.toString());
response.setContentLength((int) doc.getFile().length());

// send data
ServletOutputStream sos;
sos = response.getOutputStream();

InputStream is = new BufferedInputStream(new
FileInputStream(doc.getFile()));

int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
    sos.write(buffer, 0, bytesRead);
}

sos.flush();
is.close();

// return null so it just outputs data (no forward!)
return null;

> -----Original Message-----
> From: Stefan Groschupf [mailto:[EMAIL PROTECTED]
> Sent: 25 August 2004 14:46
> To: Struts Users Mailing List
> Subject: download binary content
>
>
> Hi,
> can someone point me to a resource that describe how to realize a
> dowanload action?
> Do I can write to the response object with out forwarding?
>
> Thanks for any hints.
> Stefan
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to