You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by angeloimm <an...@libero.it> on 2004/12/14 18:43:41 UTC
Cocoon File upload HELP
Hi all.... i have this form.xml:
<?xml version="1.0"?>
<fd:form xmlns:fd="http://apache.org/cocoon/forms/1.0#definition" xmlns:i18n="http://apache.org/cocoon/i18n/2.1">
<fd:widgets>
<fd:field id="user" required="false">
<fd:datatype base="string"/>
<fd:label>Inserire il file XPDL da uploadare</fd:label>
</fd:field>
<fd:upload id="upload" mime-types="text/plain, text/xml" required="false">
<fd:label>File da uploadare</fd:label>
<fd:hint>Scegliere un file di tipo XPDL o XML</fd:hint>
</fd:upload>
</fd:widgets>
</fd:form>
this is my template:
<?xml version="1.0"?>
<page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" xmlns:ft="http://apache.org/cocoon/forms/1.0#template" xmlns:fi="http://apache.org/cocoon/forms/1.0#instance">
<jx:import uri="resource://org/apache/cocoon/forms/generation/template.jx"/>
<title>Upload XPDL/XML file</title>
<content>
<para>Scegliere il descrittore XML o XPDL che si vuole caricare</para>
<ft:form-template action="#{$cocoon/continuation/id}.kont" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td valign="top">
<ft:widget-label id="user"/>
</td>
</tr>
<tr>
<td valign="top">
<ft:widget-label id="upload"/>
</td>
<td valign="top">
<ft:widget id="upload">
<fi:upload />
</ft:widget>
</td>
</tr>
</table><br/>
<input type="submit" value="Upload"/>
</ft:form-template>
</content>
</page>
in my flow-script i have this function (from the cocoon samples):
function upload() {
var log = Logger.getLogger( "it.eng.nikko.workflow.upload.js" );
log.info( "Sono quì" );
var form = new Form("forms/uploadForm.xml");
var k = form.showForm("uploadFile.jx");
log.info( "Starting upload......" );
//k.invalidate();
var uploadWidget = form.lookupWidget("upload");
log.info( "uploadWidget.getValue(): "+ uploadWidget.getValue() );
log.info( "uploadWidget.value: "+ uploadWidget.value );
var content = handleUpload(form);
var fileName = form.lookupWidget("upload").getValue().getHeaders().get("filename");
log.info( "Upload finished....." );
cocoon.sendPage("uploadSuccess.jx",
{
uploadContent: content,
filename: fileName
}
);
}
function handleUpload(form) {
var log = Logger.getLogger( "it.eng.nikko.workflow.upload.js" );
log.info( "handleUpload" );
var buf = new java.lang.StringBuffer();
var uploadWidget = form.lookupWidget("upload");
log.info( "uploadWidget.getValue(): "+ uploadWidget.getValue() );
log.info( "uploadWidget.value: "+ uploadWidget.value );
if (uploadWidget.getValue() != null) {
log.info( "in if" );
var realPath = java.lang.System.getProperty( "realPath" );
var dir = new java.io.File( realPath+"/procDef/" );
if( !dir.exists() ){
dir.mkdirs();
}
var myFile = new java.io.File( dir, getFileName( uploadWidget.getValue() ) );
var writer = new java.io.PrintWriter ( new java.io.FileOutputStream( myFile ) );
var stream = uploadWidget.getValue().getInputStream();
var reader = new java.io.BufferedReader(new java.io.InputStreamReader(stream));
var line;
while ((line=reader.readLine())!=null){
buf.append(line).append("\n");
writer.println( line );
}
reader.close();
writer.close();
UploadXPDL.doUpload( myFile );
}else{
log.info( "Era nullo" );
}
return buf.toString();
}
function getFileName( path ){
var strTok = new java.util.StringTokenizer( path,"/" );
var workFlowFile = null;
while( strTok.hasMoreTokens() ){
var token = strTok.nextToken();
if( ( token.indexOf( ".xml" ) > -1 ) || ( token.indexOf( ".xpdl" ) > -1 ) ){
workFlowFile = token;
}
}
return workFlowFile;
}
Well when i try to do upload i have:
2004-12-14 18:34:52,556 INFO [it.eng.nikko.workflow.upload.js] Sono quì
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] Starting upload......
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] uploadWidget.getValue(): null
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] uploadWidget.value: null
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] handleUpload
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] uploadWidget.getValue(): null
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] uploadWidget.value: null
2004-12-14 18:35:21,828 INFO [it.eng.nikko.workflow.upload.js] Era nullo
While the stack trace is:
ERROR (2004-12-14) 18:35.21:898 [access] (/Nikko/WorkFlowUpload/2558681a541780226919057a755d0e874216886c.kont) http-0.0.0.0-8080-Processor24/CocoonServlet: Internal Cocoon Problem
org.apache.avalon.framework.CascadingRuntimeException: Cannot convert null to an object.
at org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(Unknown Source)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Unknown Source)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(Unknown Source)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(Unknown Source)
at org.apache.cocoon.Cocoon.process(Unknown Source)
at org.apache.cocoon.servlet.CocoonServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: TypeError: Cannot convert null to an object. (file:/C:/jboss-3.2.5/server/mySever/tmp/deploy/tmp4713NikkoCM.war/WorkFlowUpload/flow/upload.js; line 195)
at org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:581)
at org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:541)
at org.mozilla.javascript.NativeGlobal.typeError0(NativeGlobal.java:546)
at org.mozilla.javascript.ScriptRuntime.toObject(ScriptRuntime.java:497)
at org.mozilla.javascript.ScriptRuntime.toObject(ScriptRuntime.java:473)
at org.mozilla.javascript.ScriptRuntime.getProp(ScriptRuntime.java:711)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:694)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:190)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:138)
at org.mozilla.javascript.continuations.InterpretedFunctionImpl.call(InterpretedFunctionImpl.java:121)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
at org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1591)
... 50 more
Can anybody help me?
Thanks.....
____________________________________________________________
Libero ADSL: 3 mesi gratis e navighi a 1.2 Mega, senza costi di attivazione.
Abbonati subito su http://www.libero.it
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org
Re: Cocoon File upload HELP
Posted by Mark Lundquist <ml...@wrinkledog.com>.
On Dec 14, 2004, at 9:43 AM, angeloimm wrote:
> <ft:widget id="upload">
> <fi:upload />
> </ft:widget>
Hi,
Get rid of that <fi:upload/>.
cheers,
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org