Hi Ruchira,
I got it solved in the morning looking into different scenarios. It seems
we can't do it with plain jquery ajax since we have to set some properties.
I fixed the problem using https://github.com/blueimp/jQuery-File-Upload.

Thanks you


On Fri, Jun 14, 2013 at 11:33 AM, Ruchira Wageesha <[email protected]> wrote:

> Hi Chan,
>
> What is the code that you used to upload the file?
>
> I just tested a similar scenario using the jQuery plugin [1] and could do
> it without any issue. That plugin properly sends multipart header
> and boundaries. I have put a sample code as well at [2] where you can try
> that out.
>
> Further, if you want to directly write the request stream into a file,
> then following code can be used where the stream is piped at Java level.
> For that to work, you will need to have the latest code from Jaggery master.
>
> var file = new File('/ruchira.jpg');
> file.open('w');
> file.write(request.getStream());
> file.close();
>
> [1] http://blueimp.github.io/jQuery-File-Upload/
> [2]
> https://github.com/wso2/jaggery/blob/master/apps/sample/multipart/index.jag
>
>
> On Thu, Jun 13, 2013 at 8:13 AM, Chan <[email protected]> wrote:
>
>> Hi all,
>> I am facing an error when uploading a file using an ajax call in jaggery -
>>
>> I am using the request.getAllFiles() method and my request is going as
>> 'multipart/form-data'.
>> I am getting an error from Commons upload as not having set my multipart
>> boundaries -
>>
>> I searched over at stackoverflow and found out that this was a common
>> issue and we have to set the content-type to false -
>> http://stackoverflow.com/questions/13240664/how-to-set-a-boundary-on-a-multipart-form-data-request-while-using-jquery-ajax-f
>>
>> Now the problem is that request.getAllFiles() will only work if the
>> content-type is 'multipart-form-data'.
>>
>>
>> Below is the error -
>> 2013-06-13 07:41:27,089] ERROR
>> {org.jaggeryjs.hostobjects.web.RequestHostObject} -  the request was
>> rejected because no multipart boundary was found
>> org.apache.commons.fileupload.FileUploadException: the request was
>> rejected because no multipart boundary was found
>>  at
>> org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:954)
>> at
>> org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
>>  at
>> org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)
>> at
>> org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
>>  at
>> org.jaggeryjs.hostobjects.web.RequestHostObject.parseMultipart(RequestHostObject.java:422)
>> at
>> org.jaggeryjs.hostobjects.web.RequestHostObject.jsFunction_getAllFiles(RequestHostObject.java:229)
>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>  at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:601)
>>  at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
>> at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
>>  at
>> org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85)
>> at
>> org.jaggeryjs.rhino.publisher.c2._c_anonymous_1(/publisher//index.jag:15)
>>  at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c4._c_anonymous_9(/publisher/modules/goose.js:89)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c4.call(/publisher/modules/goose.js)
>>  at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c2._c_callAPI_12(/publisher/modules/absolute.js:138)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c2.call(/publisher/modules/absolute.js)
>> at
>> org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c2._c_anonymous_14(/publisher/modules/absolute.js:169)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c2.call(/publisher/modules/absolute.js)
>>  at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>> at org.jaggeryjs.rhino.publisher.c2._c_script_0(/publisher//index.jag:199)
>>  at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>> at
>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
>>  at
>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
>> at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>>  at org.jaggeryjs.rhino.publisher.c2.exec(/publisher//index.jag)
>> at
>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:577)
>>  at
>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:280)
>> at
>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:377)
>>  at
>> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>>  at
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>> at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>>  at
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>> at
>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>  at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>  at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>  at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:177)
>>  at
>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:161)
>> at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>>  at
>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>  at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>  at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>> at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>>  at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>  at java.lang.Thread.run(Thread.java:722)
>> [2013-06-13 07:41:27,094] ERROR
>> {org.jaggeryjs.scriptengine.engine.RhinoEngine} -
>>  org.mozilla.javascript.WrappedException: Wrapped
>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.apache.commons.fileupload.FileUploadException: the request was rejected
>> because no multipart boundary was found (/publisher//index.jag#15)
>> [2013-06-13 07:41:27,095] ERROR
>> {org.jaggeryjs.jaggery.core.manager.WebAppManager} -
>>  org.mozilla.javascript.WrappedException: Wrapped
>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.apache.commons.fileupload.FileUploadException: the request was rejected
>> because no multipart boundary was found (/publisher//index.jag#15)
>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.mozilla.javascript.WrappedException: Wrapped
>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.apache.commons.fileupload.FileUploadException: the request was rejected
>> because no multipart boundary was found (/publisher//index.jag#15)
>>  at
>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:582)
>> at
>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:280)
>>  at
>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:377)
>> at
>> org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>  at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>> at
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>>  at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>> at
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>>  at
>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>  at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>  at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>> at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>  at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>  at
>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:177)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:161)
>>  at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>> at
>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
>>  at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>  at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>> at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>  at
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>  at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> at java.lang.Thread.run(Thread.java:722)
>> Caused by: org.mozilla.javascript.WrappedException: Wrapped
>> org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.apache.commons.fileupload.FileUploadException: the request was rejected
>> because no multipart boundary was found (/publisher//index.jag#15)
>>  at
>> org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
>> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
>>  at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
>> at
>> org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85)
>>  at
>> org.jaggeryjs.rhino.publisher.c2._c_anonymous_1(/publisher//index.jag:15)
>> at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>>  at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c4._c_anonymous_9(/publisher/modules/goose.js:89)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c4.call(/publisher/modules/goose.js)
>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c2._c_callAPI_12(/publisher/modules/absolute.js:138)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c2.call(/publisher/modules/absolute.js)
>>  at
>> org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
>> at
>> org.jaggeryjs.rhino.publisher.modules.c2._c_anonymous_14(/publisher/modules/absolute.js:169)
>>  at
>> org.jaggeryjs.rhino.publisher.modules.c2.call(/publisher/modules/absolute.js)
>> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
>>  at
>> org.jaggeryjs.rhino.publisher.c2._c_script_0(/publisher//index.jag:199)
>> at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>>  at
>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
>> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
>>  at org.jaggeryjs.rhino.publisher.c2.call(/publisher//index.jag)
>> at org.jaggeryjs.rhino.publisher.c2.exec(/publisher//index.jag)
>>  at
>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:577)
>> ... 31 more
>> Caused by: org.jaggeryjs.scriptengine.exceptions.ScriptException:
>> org.apache.commons.fileupload.FileUploadException: the request was rejected
>> because no multipart boundary was found
>>  at
>> org.jaggeryjs.hostobjects.web.RequestHostObject.parseMultipart(RequestHostObject.java:425)
>> at
>> org.jaggeryjs.hostobjects.web.RequestHostObject.jsFunction_getAllFiles(RequestHostObject.java:229)
>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>  at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:601)
>>  at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
>> ... 52 more
>> Caused by: org.apache.commons.fileupload.FileUploadException: the request
>> was rejected because no multipart boundary was found
>>  at
>> org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:954)
>> at
>> org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
>>  at
>> org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)
>> at
>> org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
>>  at
>> org.jaggeryjs.hostobjects.web.RequestHostObject.parseMultipart(RequestHostObject.java:422)
>> ... 58 more
>>
>>
>> --
>> Chan (Dulitha Wijewantha)
>> Software Engineer - Mobile Development
>> WSO2Mobile
>> Lean.Enterprise.Mobileware
>>  * ~Email       [email protected]*
>> *  ~Mobile     +94712112165*
>> *  ~Website   dulithawijewantha.com
>> *
>> *  ~Blog         blog.dulithawijewantha.com<http://dulichan.github.io/chan/>
>> *
>> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>>
>
>
>
> --
> *Ruchira Wageesha
> **Associate Technical Lead** & Member, Management Committee, Development
> Technologies*
> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com*
> *
> email: [email protected],   blog: ruchirawageesha.blogspot.com,   mobile: +94
> 77 5493444*
>
>
>
> --
> *Ruchira Wageesha
> **Associate Technical Lead** & Member, Management Committee, Development
> Technologies*
> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com*
> *
> email: [email protected],   blog: ruchirawageesha.blogspot.com,   mobile: +94
> 77 5493444*
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Chan (Dulitha Wijewantha)
Software Engineer - Mobile Development
WSO2Mobile
Lean.Enterprise.Mobileware
 * ~Email       [email protected]*
*  ~Mobile     +94712112165*
*  ~Website   dulithawijewantha.com
*
*  ~Blog         blog.dulithawijewantha.com<http://dulichan.github.io/chan/>
*
*  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to