Re: [vwnc] Managing Large File Uploads in Seaside
Esteban Maringolo <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.seaside |
|---|---|
| Message-ID | <CAJMgPCJVqRnVMxZ19KJFyzaFEso_K+dB=g--y5g1U=dpLoez3g@mail.gmail.com> |
Hi Karsten, I didn't think about an override and went subclassing directly (I'm not keen/not used to method overrides), but your approach of having a threshold seems like a good tradeoff to preserve the simplicity for small files. What I couldn't find is whether the maximum request body size is enforced with Seaside (I placed a few breakpoints around senders of #requestBodyLimit without any luck). Regards, Esteban A. Maringolo On Wed, May 8, 2019 at 1:59 PM Karsten Kusche <[email protected]> wrote: > Hi Esteban, > > we have an override in SeasideResponder>>asSeasideFileStream: where we do > something differently in „stream isExternalStream ifTrue:[…]“ > > There we ask the stream for #fileName (returns a Filename object) and test > the file size. That’s the file that contains the data that was uploaded. If > the file’s size exceeds a certain threshold we return a subclass of WAFile > that knows the file and not its contents. > > Kind Regards > Karsten > > Georg Heeg eK > Wallstraße 22 > 06366 Köthen > > Tel.: 03496/214328 > FAX: 03496/214712 > Amtsgericht Dortmund HRA 12812 > > > Am 8. Mai 2019 um 16:29:29, Esteban Maringolo ([email protected]) > schrieb: > > I found that SiouX is effectively uploading the contents to an attachment > file directory. > > Maybe there is a way to avoid instantiating a WAFile and use a > WAExternalFile poiting to the file on disk, or simply using my custom > SeasideResponder subclass. > > This won't save VW from reading the whole file into memory before saving > it to disk (or will it?) but it certainly will only keep the reference > during the request/response of SiouX, which will be garbage collected > faster than anything on a Seaside Component. > > Regards, > > Esteban A. Maringolo > > > On Wed, May 8, 2019 at 10:10 AM Esteban Maringolo <[email protected]> > wrote: > >> Hi Felix, >> >> That is similar to what Johan proposes in his article, but the goal is to >> achieve the same thing by using SiouX (VW's latest HTTP server) responders, >> maybe using a chunked read/write approach (so there is no more than a >> certain buffer in the object memory). >> >> Regards, >> >> Esteban A. Maringolo >> >> >> On Wed, May 8, 2019 at 9:46 AM Félix Madrid <[email protected]> wrote: >> >>> Hi Esteban, >>> >>> Maybe this article (and project) from Nick Ager can help you: >>> >>> http://nickager.com/blog/2011/07/01/File-upload-using-Nginx-and-Seaside >>> >>> Cheers, >>> >>> Félix >>> >>> On Wed, May 8, 2019 at 2:39 PM Esteban Maringolo <[email protected]> >>> wrote: >>> >>>> I'm trying to use the SiouX responder fortification to limit a large >>>> file upload from blocking the whole image and/or filling its memory. >>>> >>>> Looking at the options I found there is a "save attachments as files", >>>> which seems like a similar approach as the one proposed at < >>>> https://jbrichau.github.io/blog/large-file-upload-in-seaside > using >>>> NGINX or Apache, but apparently that option only works at NetHttpResponder, >>>> but it's not applied in Seaside. >>>> >>>> Did anybody integrate this feature or a similar one with Seaside in VW? >>>> (otherwise I'd have to do it myself). >>>> >>>> Regards! >>>> >>>> Esteban A. Maringolo >>>> >>> >>> _______________________________________________ > seaside mailing list > [email protected] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ seaside mailing list [email protected] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside