since you DID provide valuable insight on plugin integration... i wanted to make SURE you were contacted on these particularsforwarding to Link... thks umesh, Martin ______________________________________________ Place longwinded disclaimer here
> Date: Sun, 18 Nov 2012 00:16:52 +0530 > Subject: Re: processing of multipart request > From: umeshawas...@gmail.com > To: dev@struts.apache.org > > Martin, > > I guess you mentioned me while it should be Link ;-) > > Thanks > Umesh > > On Sun, Nov 18, 2012 at 12:12 AM, Martin Gainty <mgai...@hotmail.com> wrote: > > > > > for everyone's edification: > > what would be the interfaces that Umesh must implement to write a proper > > Struts2 plugin?Any changes to the interceptor stack? > > Which test criteria should Umesh consider to validate the new FileUpload > > plugin plays well with the (new and improved) interceptor stack? thanks, > > Martin > > > > > > > Date: Sat, 17 Nov 2012 08:51:05 -0800 > > > Subject: Re: processing of multipart request > > > From: mart...@apache.org > > > To: dev@struts.apache.org > > > > > > 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 > > > > > > > > > > > > > > > -- > With Regards > Umesh Awasthi > http://www.travellingrants.com/