On Sat, Nov 17, 2012 at 4:14 AM, Fastupload <fastupl...@outlook.com> wrote:

> Umesh,
>
> thanks for your reply!  Based on current file upload framework to write a
> plugin. it only support java.io.File, for example, the Action has to use
> File object to access multipart data of HTTP request. why not we do access
> multipart data directly and efficiently, in stead of temporary file?
>
> so I think we need to refactor current file upload framework in S2 to
> support more efficient way. the new file upload framework has the ability
> that enable user config his prefered file upload component and processing
> way.
>

Great. So do that. Provide a patch that refactors S2, such that the current
Commons FileUpload code is still the default, and such that an alternative,
like your fastupload plugin (but not restricted to it), can be configured
by the user if they want it. In your original post, you said you already
have that code, but I could not find it in your svn repo.

Please understand that there is no way that the existing code will be
*replaced* by a new implementation as the default any time soon. There are
tens of thousands of applications (S1, S2, and many others) that use
Commons FileUpload today, and have done for many, many years, so we know
that code is extremely robust. As far as I can tell, nobody else has ever
heard of fastupload before, and it certainly does not have the kind of
real-world testing that Commons FileUpload has had. If you want to provide
it as a plugin, people can experiment with it, and deploy it if they decide
they like it. But we are not going to throw out what has been solid for
years and replace it with something that hasn't been tested like Commons
FileUpload has.

--
Martin Cooper


this is current form of Action access multipart data
> --------------------
> public class StrutUploadAction2 extends ActionSupport {
>
>         private File photo;
>
>         @Override
>         public String execute() throws Exception {
>                 // …
>                 return super.execute();
>         }
> }
>
>
> But the efficient way is this or next ..
> --------------------------------
> public class StrutUploadAction1 extends ActionSupport {
>
>         private MultiPartFile photo;
>
>         private String description;
>
>         @Override
>         public String execute() throws Exception {
>                 // .. ..
>                 return super.execute();
>         }
> }
> for more information please look at
> https://sourceforge.net/p/fastupload/wiki/Fastupload%20Home/
>
> or
> -------------------------
> public class StrutUploadAction2 extends ActionSupport {
>
>         private FileItemStream  photo;
>
>         @Override
>         public String execute() throws Exception {
>                 / /…
>                 return super.execute();
>         }
>
> }
> // in ASF commons fileupload,  FileItemStream contains multipart data in
> memory…  for more information, please look at
> http://commons.apache.org/fileupload/streaming.html
>
>
> Best Wishes,
> Link Qian
>
>
> On Nov 17, 2012, at 6:18 PM, Umesh Awasthi <umeshawas...@gmail.com> wrote:
>
> > Link,
> >
> > I believe that what suggested by others is good way to go,
> > you can easily create a plugin using fastupload.
> >
> > one of best feature of S2 is its  flexibility to enhance and provide
> added
> > features using plugins.
> >
> > Thanks
> > Umesh
> >
> > On Sat, Nov 17, 2012 at 3:43 PM, Fastupload <fastupl...@outlook.com>
> wrote:
> >
> >> Wes,
> >>
> >> I have read struts2 file upload framework and plugin guide about file
> >> upload. It requires the plugin provides a java.IO.File object to
> >> interceptors. so in the way, upload component has to use temporary file.
> >> it's not reasonable to better performance.
> >>
> >>
> >> Here are fast upload API usage and performance
> >>
> >> https://sourceforge.net/p/fastupload/wiki/Fastupload%20Home/
> >>
> >> https://sourceforge.net/p/fastupload/wiki/Performance%20Comparison/
> >>
> >> Link
> >>
> >>
> >>
> >> On Nov 16, 2012, at 6:40 PM, Rene Gielen <rgie...@apache.org> wrote:
> >>
> >>> Going to write a plugin should really be the way to go, as Wes and
> >>> Martin already pointed out. There is positive experience with
> successful
> >>> externally maintained Struts 2 plugins such as Struts 2 jQuery e.g.
> >>>
> >>> We also provide a platform for Struts 2 developers to stay in touch
> with
> >>> latest plugin developments, internally or externally maintained:
> >>> https://cwiki.apache.org/confluence/display/S2PLUGINS/Home
> >>>
> >>> Regard,
> >>> - René
> >>>
> >>> Am 12.11.12 16:13, schrieb Wes Wannemacher:
> >>>> Another approach would be for you to take a look at our plugin API and
> >>>> build a plugin for integrating your framework into a Struts 2 web-app.
> >>>>
> >>>> -Wes
> >>>>
> >>>> On Mon, Nov 12, 2012 at 7:39 AM, Fastupload <fastupl...@outlook.com>
> >> wrote:
> >>>>
> >>>>> To who maybe concern,
> >>>>>
> >>>>> I just notice struts2 framework parses multipart/form-data requesting
> >> into
> >>>>> a temporary file, and marshal a java.io.File object for struts2
> action
> >>>>> regarding file input of multipart-form data request. also the
> framework
> >>>>> parses all files in request and then make a filter rule in
> >>>>> FileUploadInterceptor.java. And finally, framework clean temporary
> >> files
> >>>>> after action is invoked.
> >>>>>
> >>>>> Following the processing, there are three disadvantages:
> >>>>> 1, use temporary file makes low performance
> >>>>> 2, redundancy operation --  clean up temporary file
> >>>>> 3, struts action only supports java.io.File class to represent a
> >> uploading
> >>>>> file in multipart/form-data request.
> >>>>> 4, filter all file after parsing has been done, the action may be
> >> prior to
> >>>>> interceptors.
> >>>>>
> >>>>> Could you guys have a look into *fastupload* open source project in
> >>>>> https://sourceforge.net/projects/fastupload. Right now it is the
> >> fastest
> >>>>> form-based upload parsing component in java area. it makes a
> >> significant
> >>>>> performance improvement and advance features, such as,
> >>>>> 1, 2.x faster than Apache Commons FileUpload in stream method.
> >> certainly,
> >>>>> it's 5.x faster than apache commons file upload in disk method.
> >>>>> 2, filter boundaries with determining MIME and file name in advance.
> >>>>>
> >>>>>
> >>>>>
> >>>>> In fastupload-0.4.7 version, it has released some codes that work
> with
> >>>>> struts2 framework, enable parsing files with it in struts2 framework.
> >> To
> >>>>> improve features of struts2 multipart/form-data request, Could you
> >> consider
> >>>>> to integrate *fastupload* source code into struts2 framework.
> >> incurring
> >>>>> struts2 supports both *fastupload* and ASF commons file upload?
> >>>>>
> >>>>> best wishes,
> >>>>> Link Qian
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
> >>>>> For additional commands, e-mail: dev-h...@struts.apache.org
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> René Gielen
> >>> http://twitter.com/rgielen
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
> >>> For additional commands, e-mail: dev-h...@struts.apache.org
> >>>
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
> >> For additional commands, e-mail: dev-h...@struts.apache.org
> >>
> >>
> >
> >
> > --
> > With Regards
> > Umesh Awasthi
> > http://www.travellingrants.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
> For additional commands, e-mail: dev-h...@struts.apache.org
>
>

Reply via email to