I've been struggling with getting s:fileUpload to work with our application; from reading the message boards it seems as if we're doing everything right, but obviously something's missing. This is with Seam 2.0.0.B1, fwiw.
Our components.xml file contains: <web:multipart-filter create-temp-files="false" max-request-size="1000000"/> Our web.xml file is, in its entirety: <?xml version="1.0" encoding="UTF-8"?> | <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" | xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> | | <distributable /> | | <display-name>Control Panel</display-name> | | <welcome-file-list> | <welcome-file>index.html</welcome-file> | </welcome-file-list> | | <servlet> | <servlet-name>Faces Servlet</servlet-name> | <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> | <load-on-startup>1</load-on-startup> | </servlet> | | <servlet> | <servlet-name>Seam Resource Servlet</servlet-name> | <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class> | </servlet> | | <servlet-mapping> | <servlet-name>Faces Servlet</servlet-name> | <url-pattern>*.html</url-pattern> | </servlet-mapping> | | <servlet-mapping> | <servlet-name>Seam Resource Servlet</servlet-name> | <url-pattern>/seam/resource/*</url-pattern> | </servlet-mapping> | | <listener> | <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> | </listener> | | <context-param> | <param-name>javax.faces.STATE_SAVING_METHOD</param-name> | <param-value>client</param-value> | </context-param> | | <context-param> | <param-name>javax.faces.DEFAULT_SUFFIX</param-name> | <param-value>.xhtml</param-value> | </context-param> | | <context-param> | <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> | <param-value>com.sun.facelets.FaceletViewHandler</param-value> | </context-param> | | <context-param> | <param-name>org.richfaces.SKIN</param-name> | <param-value>plain</param-value> | </context-param> | | <context-param> | <param-name>facelets.LIBRARIES</param-name> | <param-value>/WEB-INF/components/core.taglib.xml;/WEB-INF/domain/core.taglib.xml</param-value> | </context-param> | | <filter> | <filter-name>Seam Filter</filter-name> | <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> | </filter> | | <filter> | <display-name>RichFaces Filter</display-name> | <filter-name>richfaces</filter-name> | <filter-class>org.ajax4jsf.Filter</filter-class> | </filter> | | <filter> | <filter-name>Seam Redirect Filter</filter-name> | <filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class> | </filter> | | <filter> | <filter-name>Seam Exception Filter</filter-name> | <filter-class>org.jboss.seam.servlet.SeamExceptionFilter</filter-class> | </filter> | | <filter-mapping> | <filter-name>Seam Filter</filter-name> | <url-pattern>/*</url-pattern> | </filter-mapping> | | <filter-mapping> | <filter-name>Seam Exception Filter</filter-name> | <url-pattern>*.xhtml</url-pattern> | </filter-mapping> | | <filter-mapping> | <filter-name>Seam Redirect Filter</filter-name> | <url-pattern>/*</url-pattern> | </filter-mapping> | | <filter-mapping> | <filter-name>richfaces</filter-name> | <url-pattern>/*</url-pattern> | </filter-mapping> | | </web-app> Within the page template, we're using this to create the form: <h:form id="main" styleClass="k_main clearfix" enctype="multipart/form-data"> And finally, in the page itself, we're using the tag as follows: <s:fileUpload id="picture" data="#{campaign.logo}" contentType="#{campaign.logoType}" fileName="#{campaign.logoFileName}"/> All I really care about is the data stream - I've tried adding and removing contentType, accepts, et cetera. In the bean, the fields are defined as follows: | private byte[] logo; | private String logoType; | private String logoFileName; | | ..... | | @Lob | @Column(length = 1048576) | public byte[] getLogo() { | return logo; | } | | public void setLogo(byte[] logo) { | this.logo = logo; | } | | @Transient | public String getLogoType() { | return logoType; | } | | public void setLogoType(String logoType) { | this.logoType = logoType; | } | | @Transient | public String getLogoFileName() { | return logoFileName; | } | | public void setLogoFileName(String logoFileName) { | this.logoFileName = logoFileName; | } | Interestingly, breakpoints on the set methods show that setLogo() is called with a null value, but that setLogoFileName() et al are never called. So we're obviously missing something in the configuration. Any help will be greatly appreciated. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4090664#4090664 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4090664 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user