Hello All, 2004. március 4. 14.47 dátummal [EMAIL PROTECTED] 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"/> -- thx, ---------------------------------------------------- Zoltan Zidarics programmer PTE University Pecs, Hungary icq: 43288694 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]