> 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]>