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.

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