|
Hi all, I'm having a problem trying to get file upload to work. <h:form id="form1" name="form1" enctype="multipart/form-data" > <h:outputText value="Please give me an image"/> <t:inputFileUpload id="fileupload" accept="image/*" value="#{ui.someUser.file}" storage="file" required="true"/> <h:commandButton value="Upload Now!" action="" /> </h:form> My bean effectively has this in it: import org.apache.myfaces.custom.fileupload.UploadedFile; : : public class MyBean { public void fileUploaded(ValueChangeEvent event) { UploadedFile file = (UploadedFile)event.getNewValue(); if (file != null) { FacesContext context = FacesContext.getCurrentInstance(); FacesMessage message = new FacesMessage("Successfully uploaded file " + file.getName() + " (" + file.getSize() + " bytes)"); context.addMessage(event.getComponent().getClientId(context), message); // Here's where we could call file.getInputStream() } else { System.out.println("fileUploaded called with no file"); } } public UploadedFile getFile() { return _file; } public void setFile(UploadedFile file) { // never called! _file = file; } public String doUpload() { UploadedFile file = getFile(); // ... and process it in some way return (file != null ? file.getName() : "nullo"); } private UploadedFile _file; } Please help! Regards, Murray ================================================ extra notes: 1) I am using Facelets + Myfaces + Tomahawk + ADF faces. 2) For a start I get a _javascript_ error on submit because clear_form1(); does not exist not sure why it is missing. The following html was generated: <input id="form1:_id6" name="form1:_id6" type="submit" value="Upload Now!" > 3) My web.xml <filter> <filter-name>MyFacesExtensionsFilter</filter-name> <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> <init-param> <param-name>maxFileSize</param-name> <param-value>20m</param-value> <description>Set the size limit for uploaded files. Format: 10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB </description> </init-param> </filter> <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages --> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <servlet-name>FacesServlet</servlet-name> </filter-mapping> <!-- extension mapping for serving page-independent resources (_javascript_, stylesheets, images, etc.) --> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <url-pattern>/faces/myFacesExtensionResource/*</url-pattern> </filter-mapping> 4) ADF faces file upload exhibits the same behaviour. 5) The file is definitely attempting to be uploaded because if I give a really big file I get a SizeLimitExceededException. Apr 11, 2006 4:58:58 AM org.apache.myfaces.webapp.filter.MultipartRequestWrapper parseRequest INFO: user tried to upload a file that exceeded file-size limitations. org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (337407087) exceeds the configured maximum (104857600) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:310) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:268) at org.apache.myfaces.webapp.filter.MultipartRequestWrapper.parseRequest(MultipartRequestWrapper.java:81) at org.apache.myfaces.webapp.filter.MultipartRequestWrapper.getParameterMap(MultipartRequestWrapper.java:177) at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:184) at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:130) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) |
- File upload problem - setFile( ) never called, please ... Murray Brandon
- Re: File upload problem - setFile( ) never called... Murray Brandon
- Re: File upload problem - setFile( ) never ca... Mike Kienenberger
- Re: File upload problem - setFile( ) neve... Murray Brandon
- Re: File upload problem - setFile( ) ... Mike Kienenberger
- Re: File upload problem - setFil... Matthias Wessendorf
- Re: File upload problem - se... Murray Brandon
- My experience with GBO Lance Frohman
- Re: File upload problem - setFil... Murray Brandon
- Re: File upload problem - se... Mike Kienenberger
- Re: File upload no longe... Murray Brandon

