Hi,

You can use an action to move the attachment to where you want. Here's how:

http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=101878098524370&w=2

Jeroen


----- Original Message ----- 
From: "Chitharanjan Das" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 12, 2002 12:32 AM
Subject: RE: Vadim : RE: XSP Upload example - I do not understand


> 
> Thanks a million....
> 
> I understand it now...
> 
> Let me try to clarify
> 
> 1. Upload directory is read from init parameter. Hence it is kinda fixed
> .
> 2. We do not get the control of uploaded files.
> As soon as the Cocoon gets a request. The request is processed
> for Multipart request processing. Is this how it has to be processed ?
> The only way to change this is to provide my own version of multi-part
> request processing factory. However, the problem is that you can have
> utmost one kind of behaviour.
> 3. In my implementation, I need to store the files in different
> directories, depending upon the type of files uploaded. How do you
> suggest I go ant it...
> 
> 
> Thanks in advance,
> Chiths
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] 
> Sent: Tuesday, June 11, 2002 1:18 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Vadim : RE: XSP Upload example - I do not understand
> 
> > From: Chitharanjan Das [mailto:[EMAIL PROTECTED]]
> > 
> > Hello Vadim...
> > 
> > If you might explain the upload functionality .......
> > 
> > 1. Form with multipart data is submitted to upload.xsp
> > 2. The form parameters have to be processed. I changed the form
> variable
> > name from uploaded_file to files and still it works.
> > 3. If I have to do additional processing like throw error if the file
> > exists or the file needs to be stored in a specific pattern say
> > $upload_directory/<date>/<user>/<filename>_uniqueId. How can I
> customize
> > it.
> 
> Look into the source. Start with CocoonServlet:
> 
>         HttpServletRequest request =
> RequestFactory.getRequestFactory(requestFactoryClass).getServletRequest(
> req,
>  
> CocoonServlet.SAVE_UPLOADED_FILES_TO_DISK,
>                                          this.uploadDir,
>                                          CocoonServlet.ALLOW_OVERWRITE,
>                                          CocoonServlet.SILENTLY_RENAME,
>                                          this.maxUploadSize);
> 
> 
> > 4. If there are additional form elements, how do I process them.
> > 5. Where is the upload functionality being invoked.. Its kind a vague
> > (for my intellect).
> 
> From the servlet, see line(s) above.
> 
> Vadim
> 
> 
> > 
> > Thanks in Advance,
> > Chiths
> > 
> > 
> > -----Original Message-----
> > From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]]
> > Sent: Tuesday, June 11, 2002 6:51 AM
> > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > Subject: RE: XSP Upload example - I do not understand
> > 
> > > From: Stefan Riegel [mailto:[EMAIL PROTECTED]]
> > >
> > > Hello, everybody,
> > >
> > > I do not understand the XSP upload example. Yes, it works fine, but
> I
> > would
> > > like to understand as much as possible. I guess their is some
> "magic"
> > behind
> > > the scene.
> > >
> > > I did some reading of the API Javadoc, but I'am still not
> experienced
> > enough
> > > reading source code. What to do? Should I give up learning Cocoon
> :-(
> > 
> > Try reading Java source code generated from the XSP.
> > 
> > 
> > > The example XSP-Source follows. I added comments about what I don't
> > > understand.
> > >
> > >
> > > <?xml version="1.0" encoding="ISO-8859-1"?>
> > >
> > > <!-- CVS: $Id: upload.xsp,v 1.3 2002/02/09 06:21:57 vgritsenko Exp $
> > -->
> > >
> > >
> > > <!--
> > > QUESTION: the namespace declarations for request, response and log
> are
> > > not used and could be omitted? Is this correct?
> > > -->
> > 
> > If not used then can be omitted.
> > 
> > 
> > > <xsp:page language="java"
> > >           xmlns:xsp="http://apache.org/xsp";
> > >           xmlns:xsp-request="http://apache.org/xsp/request/2.0";
> > >           xmlns:xsp-response="http://apache.org/xsp/response/2.0";
> > >           xmlns:log="http://apache.org/xsp/log/2.0";>
> > >
> > >   <xsp:structure>
> > > <!--
> > > QUESTION: Same with the XSPUtil import. Am I right?
> > > -->
> > 
> > Same.
> > 
> > 
> > >
> >
> <xsp:include>org.apache.cocoon.components.language.markup.xsp.XSPUtil</x
> > sp:i
> > > nclude>
> > >
> > >
> >
> <xsp:include>org.apache.avalon.framework.context.ContextException</xsp:i
> > nclu
> > > de>
> > >   </xsp:structure>
> > >
> > > <!--
> > > QUESTIONS: I do not understand this part. Who calls conceptualize?
> > 
> > Contextualize. Avalon does.
> > See
> >
> http://jakarta.apache.org/avalon/framework/reference-the-lifecycle.html
> > 
> > 
> > >    Where does context
> > > (org.apache.cocoon.generation.ServletGenerator.context?)
> > >    come from?
> > 
> > Avalon gives.
> >
> http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/context
> > /Context.html
> > 
> > 
> > > And the get method of context?
> > 
> > See link above.
> > 
> > 
> > > Their must be some "build in"
> > > upload
> > >    functionality, please explain if You are patient enough.
> > 
> > Yes, there is. And it uses maybeupload library, or Multipart request
> > parser. See org.apache.cocoon.components.request package.
> > 
> > Vadim
> > 
> > 
> > > -->
> > >   <xsp:logic>
> > >   File uploadDir = null;
> > >   /** Contextualize this class */
> > >   public void contextualize(Context context) throws ContextException
> {
> > >     uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR);
> > >   }
> > >   </xsp:logic>
> > >
> > >   <page>
> > >    <title>This form allows you upload files</title>
> > >    <content>
> > >      <para>
> > >        <form method="post" enctype="multipart/form-data"
> > > action="upload.xsp">
> > >          File:  <input type="file" name="uploaded_file" size="50" />
> > >      <p><input type="submit" value="Upload File" /></p>
> > >        </form>
> > >      </para>
> > >      <para>
> > >      <ul>
> > >        <xsp:logic>
> > >         getLogger().debug("Dir=" + uploadDir);
> > >          String[] filelist = uploadDir.list();
> > >          <![CDATA[
> > >          getLogger().debug("List=" + filelist.length);
> > >          for (int i = 0; i < filelist.length; i++) {
> > >             getLogger().debug("File [" + i + "]=" + filelist[i]);
> > >          ]]>
> > >            <li>
> > >              <xsp:expr>filelist[i]</xsp:expr>
> > >            </li>
> > >          <![CDATA[
> > >          }
> > >          ]]>
> > >        </xsp:logic>
> > >      </ul>
> > >      </para>
> > >      <para>Brought to you by Cocoon at <xsp:expr>new
> > > Date()</xsp:expr>.</para>
> > >
> > >    </content>
> > >   </page>
> > > </xsp:page>
> > >
> > >
> > > Thank You.
> > >
> > > Regards
> > > Stefan
> > > --
> > >
> > > Stefan Riegel
> > 
> > 
> > ---------------------------------------------------------------------
> > Please check that your question  has not already been answered in the
> > FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> > 
> > To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> > For additional commands, e-mail:   <[EMAIL PROTECTED]>
> > 
> > 
> > 
> > 
> > ---------------------------------------------------------------------
> > Please check that your question  has not already been answered in the
> > FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> > 
> > To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> > For additional commands, e-mail:   <[EMAIL PROTECTED]>
> 
> 
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> 
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
> 
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>
> 


---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

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

Reply via email to