Perhaps I should have added, James, that I previewed all the
submissions many times before saving them.


On Sun, 6 Mar 2005 00:00:39 -0500, James Mitchell <[EMAIL PROTECTED]> wrote:
> Not trying to be rude here, but you can help us all out by using the
> "Preview" instead of the "Save" when making multiple changes.  That helps
> keep the noise down ;)
> 
> --
> James Mitchell
> Software Engineer / Open Source Evangelist
> EdgeTech, Inc.
> 678.910.8017
> AIM: jmitchtx
> 
> ----- Original Message -----
> From: <dev@struts.apache.org>
> To: <dev@struts.apache.org>
> Sent: Saturday, March 05, 2005 6:30 PM
> Subject: [Apache Struts Wiki] Updated: StrutsUpload
> 
>    Date: 2005-03-05T15:30:46
>    Editor: DakotaJack
>    Wiki: Apache Struts Wiki
>    Page: StrutsUpload
>    URL: http://wiki.apache.org/struts/StrutsUpload
> 
>    no comment
> 
> Change Log:
> 
> ------------------------------------------------------------------------------
> @@ -1,5 +1,50 @@
>  == Overview ==
> 
> +Utilizing the sort of structure suggested for Struts upload below allows us
> to have an !ActionUpload class as follows:
> +
> +(This is actual code used in a working application online.)
> +
> +{{{
> +public class UploadAction
> +    extends Action {
> +  public ActionForward execute(ActionMapping       mapping,
> +                               ActionForm          form,
> +                               HttpServletRequest  req,
> +                               HttpServletResponse res)
> +      throws Exception {
> +    HttpSession    sess   = req.getSession();
> +    Upload         upload =
> (Upload)sess.getAttribute(UploadConstant.UPLOAD);
> +
> +    if(upload == null) {
> +      upload = new Upload();
> +      sess.setAttribute(UploadConstant.UPLOAD,upload);
> +    }
> +
> +    if(upload.isMultipart(req)) {
> +      Monitor progress =
> (UploadMonitorProgress)sess.getAttribute(UploadConstant.MONITOR);
> +
> +      if(progress == null) {
> +        progress = new UploadMonitorProgress();
> +        sess.setAttribute(UploadConstant.MONITOR,progress);
> +      }
> +
> +      List monitors = Collections.synchronizedList(new LinkedList());
> +      monitors.add(progress);
> +      String userStore = LoadFileUtil.getUploadPath(user.getId());
> +
> +      upload.setStore(UploadConstant.DIR,userStore);
> +      upload.setStoreTmpDir(LoadFileUtil.UPLOAD_TEMP_FILES);
> +
> upload.process(req,monitors,UploadConstant.DEFAULT_ENCODING,UploadConstant.MAX_UPLOADED_FILE_SIZE);
> +      upload.store();
> +
> +
> sess.setAttribute(UploadConstant.REPORT,UploadReport.getReport(upload));
> +    }
> +
> +    return new ActionForward(...);;
> +  }
> +}
> +}}}
> +
>  The point of this presentation is not the classes given.  The point is that
> I am would hope that the committers working on the Struts multipart
> processing would make some attempt to provide a basis for applications other
> than the Struts upload package.  These classes are not meant to be that
> basis, other than the so-called "Framework Code" given below.  If the code
> given so far is not sufficient to get a response other than the usual
> indifference, I will just go my own way.
> 
>  This is about Struts v1.2.6 and forward multipart requests.  The first
> seven classes/interfaces are suggested as a basis for allowing Struts
> users/developers to implement their own file upload applications.  The
> object of suggesting these classes is to make the use of !ActionForm
> available to users/developers who want to do something more than the present
> default file upload application packaged with Struts allows but maintaining
> backward compatibility.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to