chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Naresh Bhatia <bhat...@comcast.net>
Subject Re: Returning content stream in HttpServletResponse
Date Sat, 04 Jun 2011 14:25:08 GMT
Thanks Sebastian and Florian,

I am assuming from your responses that the streams provided by
OpenCimis ( doc.getContentStream().getStream()
) and the Servlet (ServletOutputStream) are appropriate to use as is, i.e.
they provide some sort of buffering. So I am taking out BufferedInputStream
and BufferedOutputStream from my code. If this assumption is incorrect,
please let me know.

Thanks
Naresh


On Sat, Jun 4, 2011 at 7:10 AM, Florian Müller <florian.mueller@alfresco.com
> wrote:

> That should work fine if you use the AtomPub binding. It pulls the bytes
> directly from the underlying repository. The Web Services binding buffers
> the stream. If the content is <=4MB it is buffered in main memory. If it is
> >4MB it is buffered in a temporary file. (This threshold can be changed by a
> session parameter.) The temporary file adds significant overhead for large
> contents, but it still should work.
>
> I have tested it with content up to 1GB. If you have something bigger than
> that please let us know if it works or doesn't work.
>
>
> Cheers,
>
> Florian
>
>
> ----- Original Message -----
> From: "Naresh Bhatia" <bhatian@comcast.net>
> To: "dev" <dev@chemistry.apache.org>
> Sent: Saturday, June 4, 2011 12:54:35 AM GMT +00:00 GMT Britain, Ireland,
> Portugal
> Subject: Returning content stream in HttpServletResponse
>
> I would like to return the content of a document in a HttpServletResponse.
> What I have right now is shown below. Is there a better way? Will this
> scale
> for large video content?
>
> InputStream src = new BufferedInputStream(
>        document.getContentStream().getStream());
>
> BufferedOutputStream dst = new BufferedOutputStream(
>        response.getOutputStream());
>
> byte[] buff = new byte[2048];
> int bytesRead;
> while((bytesRead = src.read(buff, 0, buff.length)) != -1) {
>    dst.write(buff, 0, bytesRead);
> }
>
>
> Thanks.
> Naresh
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message