Re: Problem Downloading Large Files
Re: Problem Downloading Large Files
- Subject: Re: Problem Downloading Large Files
- From: Aaron Rosenzweig <email@hidden>
- Date: Fri, 03 May 2019 17:48:13 -0400
Leigh,
See if this might help:
WOResponse aResponse = context().response();
aResponse.setHeader("application/zip", "Content-Type");
aResponse.setHeader("" + getZipFile().length() + "", "Content-Length");
aResponse.setHeader("attachment;filename=\"" + getZipFile().getName() + "\"",
"Content-Disposition");
FileInputStream inputStream = new FileInputStream(getZipFile());
aResponse.setContentStream(inputStream, 0, getZipFile().length());
return aResponse;
AARON ROSENZWEIG / Chat 'n Bike <http://www.chatnbike.com/>
e: email@hidden <mailto:email@hidden> t: (301) 956-2319
> On May 3, 2019, at 4:53 PM, Leigh Kivenko <email@hidden> wrote:
>
> Thanks for the quick response Hugi.
>
> We tried using FileInputStream with setContentStream. It was also giving 0Kb
> files as well.
>
> Leigh Kivenko | Chief Technology Officer
> PortfolioAid
> t. 416-479-0523 | e. email@hidden <mailto:email@hidden>
>
> This e-mail may be privileged and confidential. If you received this e-mail
> in error, please do not use, copy or distribute it, but advise me immediately
> (by return e-mail or otherwise), and delete the e-mail.
>
> From: Hugi Thordarson [mailto:email@hidden]
> Sent: Friday, May 03, 2019 2:07 PM
> To: Leigh Kivenko <email@hidden>
> Cc: email@hidden
> Subject: Re: Problem Downloading Large Files
>
> Hi Leigh,
> since the InputStream is called "byteIn" I'm guessing it's a
> ByteArrayInputStream, meaning the data it contains has been loaded to memory.
> If you have an actual file, you might consider using a FileInputStream
> instead.
>
> Cheers,
> - hugi
>
>
> On 3 May 2019, at 18:02, Leigh Kivenko <email@hidden
> <mailto:email@hidden>> wrote:
>
> Hi All,
> I was wondering if anyone has encountered this issue and has been able to
> resolve it:
>
> In one page of our web app, users have the ability to download files. We are
> having an issue when the user attempts to download a large file (> 500MB -
> zip), where the app throws an Out of Memory error. The download functionality
> is coded by:
> 1. Converting the file to FileInputStream and then to NSData
> 2. appending the file to the WOResponse.
> a. response.appendContentData(fileNSData)
>
> This approach is described here :
> https://en.wikibooks.org/wiki/WebObjects/Web_Applications/Development/Examples/Return_a_File
>
> <https://en.wikibooks.org/wiki/WebObjects/Web_Applications/Development/Examples/Return_a_File>
>
> We also tried using the following approach (also described in link above):
> 1. Using ByteArrayInputStream
> Ø response.setContentStream(byteIn, 4096, length);
>
> In both cases, the user receives a 0KB file.
>
> Does anyone have any recommended approaches to serve a large file through the
> application? Please note the file lives on the application server but for
> security purposes we wouldn’t want it directly accessible.
>
> Thanks,
> Leigh Kivenko | Chief Technology Officer
> PortfolioAid
> t. 416-479-0523 | e. email@hidden <mailto:email@hidden>
>
> This e-mail may be privileged and confidential. If you received this e-mail
> in error, please do not use, copy or distribute it, but advise me immediately
> (by return e-mail or otherwise), and delete the e-mail.
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden
> <mailto:email@hidden>)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden <mailto:email@hidden>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden