cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "blick@fmi.uni-passau.de" <bl...@fmi.uni-passau.de>
Subject re:re: different upload-dirs for different applications
Date Tue, 30 Sep 2003 10:26:34 GMT
first -- pleast excuse my bad quoting. mail2web does not support better. :(

i'm still getting crazy trying to upload files into different directorys. i
did the solution as offered in the answer below. i inserted the example
into the standard cocoon configuration (retrieved from cocoon.war).

perhaps 1st the code.

--[sitemap.xmap begin]----

<map:actions>
   <map:action logger="sitemap.action.request" name="upload-files"
src="de.my.cocoon.UploadSplitter"/>
..
</map:action>

<map:pipeline>
  <map:match pattern="upload">
    <map:generate src="new-samples/fileUp.xhtml"/>
    <map:serialize type="xhtml"/>
  </map:match>

  <map:match pattern="uploadFileFromUser">
    <map:act type="upload-files"/>
    <map:generate type="request">
    <map:read src="new-samples/success.html" mime-type="text/html"/>
    </map:generate>
  </map:match>

  <map:match pattern="**/uploadFileFromUser">
    <map:act type="upload-files"/>
    <map:generate type="request">
    <map:read src="new-samples/success.html" mime-type="text/html"/>
    </map:generate>
  </map:match>
...
</map:pipeline>
-----[end of sitemap.xmap]--------------------------------------

i also changed the needed entrys in web.xml.

the "class de.my.cocoon.uploadSplitter" is quite the same than the example
given on wiki (and below). it works, it produces anoter file every time i
upload something. (i do not save the uploaded file yet.)

problem is: i still get this error after uploading the file:

"Resource not found
No pipeline matched request: uploadFileFromUser

org.apache.cocoon.ResourceNotFoundException: No pipeline matched request:
uploadFileFromUser"

and the following stacktrace [just first 3 lines..]

org.apache.cocoon.ResourceNotFoundException: No pipeline matched request:
uploadFileFromUser

	at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipel
ineNode.java:168)

	at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invo
keNodes(AbstractParentProcessingNode.java:108)


.. 

anyone can help me with a slightly longer explaination or a resource where
i can read (and understand it)?

best regards and thanks a lot!

peter





--[old mails]----------------------------------------------------------
you need to create an action that has some logic in it which determines 
the application trying to save the file (eg make the applications pass a 
unique parameter in the request or so)

 From the wiki 
(http://wiki.cocoondev.org/Wiki.jsp?page=FileUploadWithAction)

    public Map act(Redirector redirector, SourceResolver resolver,
                   Map objectModel, String source, Parameters par)
        throws Exception
    {
	//use the request object below to get the additional request parameter
        Request request = ObjectModelHelper.getRequest(objectModel);
        FilePart filePart = (FilePart) request.get("uploaded_file");

        File file = ((FilePartFile)filePart).getFile();	
        getLogger().debug("Uploaded file = " + file.getCanonicalPath());
        // here you can open an InputStream on the file or whatever
        // you may also want to delete the file after using it
        return Collections.EMPTY_MAP;

    }

action can be defined in the sitemap as following
    <map:actions>
      <map:action name="upload-files" src="your.action.package.class"
                          logger="my.logger.filestore"/>
    </map:actions>     

<map:pipelines>
......
        <map:act type="upload-files">
              <map:generate type="request"/>
        </map:act>


blick@fmi.uni-passau.de wrote:

>Hi,
>
>I have 2 applications accessing one cocoon (using different paths of
>course). Both apps need to upload Files. Is there any way to make cocoon
>save the incoming files in different directorys?
>
>I have seen the single-Directory solution but that does not fit my needs. 
>
>Any help is highly appreciated!
>
>peter
>
>


--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message