[Seaside] Serving files from within Seaside
Boris Popov, DeepCove Labs
boris at deepcovelabs.com
Tue Dec 18 18:19:21 UTC 2012
We added the below to our components,
(html anchor)
callback: [self savePDF];
with: 'Save PDF'
savePDF
self
downloadBytes: (<pdf generation>)
mime: 'application/pdf'
filename: ('Report Title <1s>.pdf' expandMacrosWith: (Date today printUsing: 'yyyy-mm-dd')).
downloadBytes: bytes mime: mime filename: filename
self requestContext respond:
[:response |
response document: ((bytes seasideMimeDocument)
mimeType: mime;
fileName: filename;
yourself)].
-Boris
From: seaside-bounces at lists.squeakfoundation.org [mailto:seaside-bounces at lists.squeakfoundation.org] On Behalf Of Jon Paynter
Sent: Tuesday, December 18, 2012 1:10 PM
To: Seaside - general discussion
Subject: Re: [Seaside] Serving files from within Seaside
> Hi there,
>
> I know people consider serving files a job that should be handled by a
> "real" http server rather than Seaside. In most cases, esp. for static
> resources that can be accessed by the public, that is absolutely the case.
>
> But I need to serve files in a callback. The files are being partly
> calculated and read from a DB and should be available for download by
> clicking on a link.
>
> I've been looking into WAFileLibrary and WAFileHandler, but am not sure
> where to start.
>
> What I want to do is something like:
>
> html anchor
> callback: [self calculateChartAndServeIt]
> with: 'Download full chart'.
>
> I know I will have to respond:, but can I do that in a callback?
>
> Joachim
I do a very similar thing in my application. Generate a file and serve it up to the user. So far this has worked well:
downloadtext: contents named: aFilename
"trigger a file download operation for aFilename with the contents in contents"
self requestContext respond: [ : response |
response contentType: 'text/plain';
attachmentWithFileName: aFilename;
nextPutAll: contents.
].
where "contents" is a string containing the text of the file to download
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20121218/0bb69948/attachment.htm
More information about the seaside
mailing list