cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gou...@osmosis.gr
Subject Re: xsp upload nightmare
Date Mon, 08 Mar 2004 16:46:33 GMT

hi marcius

can i add your modification in a new wiki page ?

can you describe what else is this code make ?


--stavros


On Sat, 6 Mar 2004, Z.Z. wrote:

> Hello All,
> 2004. mαrcius 4. 14.47 dαtummal gounis@osmosis.gr ezt νrta:
> > take a look here
> >
> > http://wiki.cocoondev.org/Wiki.jsp?page=RecipeUploadUsingAction
> >
> > it working
> 
> Thanks a lot, it working really.
> 
> I use it in Linux and my context is my home directory, link is: 
> server/cocoon/~zamek/app/
> 
> I cannot pass it to Fileupload. I think I try to pass cocoon:/ but it doesn
> ΄t works. 
> 
> I modified your code to accept cocoon:/ protocoll:
> 
> declarations section:
> 
>    /* cocoon:/ */
>    private static final String COCOON_ENTRY = "cocoon:/";
>    private final static String FILE_ENTRY = "file:";
> 
> and act method:
> 
> originally:
> 		if (req instanceof HttpRequest) {
> 
> 			HttpRequest request = (HttpRequest) req;
> 
> 			/* create necessary directory structure	 */
> 			File uplDir = new File(parUploadDirectory);
> 			if (isDebugEnabled) {
> 				myLogger.debug(
> 					"upload directory is: " + uplDir.getAbsolutePath());
> 			}
> 
> 			if (uplDir.isAbsolute() == false) {
> 				// check for first relative slash
> 				if (parUploadDirectory.indexOf('/') != 0) {
> 					parUploadDirectory = "/" + parUploadDirectory;
> 				}
> 					
> 			  	uplDir = new File(context.getRealPath(parUploadDirectory));
> 			}				
> 
> 			if (isDebugEnabled) {
> 				myLogger.debug(
> 					"absolute upload directory is: "
> 						+ uplDir.getAbsolutePath());
> 			}
> 
> modified:
> 		if (req instanceof HttpRequest) {
> 
> 			HttpRequest request = (HttpRequest) req;
> 
> 			/* create necessary directory structure	 */
> 			File uplDir = new File(parUploadDirectory);
> 			if (isDebugEnabled) {
> 				myLogger.debug(
> 					"upload directory is: " + uplDir.getAbsolutePath());
> 			}
> 
> 			if (parUploadDirectory.startsWith(COCOON_ENTRY) ) {
> 				parUploadDirectory = 
> parUploadDirectory.substring(COCOON_ENTRY.length());
> 				Source inputSource = resolver.resolveURI("");
> 				String sysId = inputSource.getURI();
> 				sysId = sysId.substring(new String(FILE_ENTRY).length());
> 				uplDir = new File (sysId+parUploadDirectory);
> 			}
>             else {
> 
> 				if (uplDir.isAbsolute() == false) {
> 					// check for first relative slash
> 					if (parUploadDirectory.indexOf('/') != 0) {
> 						parUploadDirectory = "/" + parUploadDirectory;
> 					}
> 					
> 				  	uplDir = new File(context.getRealPath(parUploadDirectory));
> 				}				
> 			}
> 
> 			if (isDebugEnabled) {
> 				myLogger.debug(
> 					"absolute upload directory is: "
> 						+ uplDir.getAbsolutePath());
> 			}
> 
> 
> and need to import 
> import org.apache.excalibur.source.Source;
> 
> in sitemap you can use:
> 
>       <map:match pattern="upload-*">
>         <map:act type="file-upload-action">
>             <map:parameter name="number-of-files" value="1"/>
>             <map:parameter name="file-form-field-prefix" 
> value="upload-file"/>
>             <map:parameter name="upload-directory" 
> value="cocoon:/{request-param:upload-dir}"/>
>             <map:parameter name="overwrite-file" value="rename"/>
> 
> 
> 


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


Mime
View raw message