<map:act type="upload-files"/> <map:generate type="request"> <map:read src="new-samples/success.html" mime-type="text/html"/> </map:generate>
should be
<map:act type="upload-files">
<map:generate type="request">
<map:read src="new-samples/success.html" mime-type="text/html"/>
</map:act>when your returning a map at the end of your action then the rest of the pipeline inside the map will get executed, return null if this is not desired.
Hope this helps Jorg
[EMAIL PROTECTED] wrote:
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>
[EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
