s:fileUpload
lasansue.jeremy.girard.satives.fr Mar 4, 2008 6:53 PMHi all,
I tried to upload a file using s:uploadFile. I follow the reference manual but it still not work. All attributes are empty.
Added in components.xml
<web:multipart-filter create-temp-files="false" max-request-size="5200000" url-pattern="/*"/>
No add in web.xml seam filter was already set.
my xhtml page :
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:s="http://jboss.com/products/seam/taglib"
template="#{theme.template}">
<ui:define name="content">
<div class="imageEntry">
<h:form enctype="multipart/form-data">
<h:messages globalOnly="true" styleClass="errors"/>
<f:facet name="afterInvalidField">
<s:span>
 Error: 
<s:message/>
</s:span>
</f:facet>
<f:facet name="aroundInvalidField">
<s:span styleClass="errors"/>
</f:facet>
<s:validateAll>
<div>
<h:outputLabel for="body">Fichier (taille maximal 5Mo): </h:outputLabel>
</div>
<div class="hilite">
<s:fileUpload data="#{uploadedFile.uploadedFile}" fileName="#{uploadedFile.pictureName}"/>
</div>
</s:validateAll>
<div>
<h:commandButton action="#{uploadedFile.parse}" value="Ajouter" rendered="#{!imageEntryHome.managed}"/>
<h:commandButton value="Enregistrer" rendered="#{imageEntryHome.managed}"/>
</div>
</h:form>
</div>
</ui:define>
</ui:composition>And my action
@Name("uploadedFile")
public class UploadedFile {
private byte[] uploadedFile;
private String pictureName;
/**
* @return the pictureName
*/
public String getPictureName() {
return pictureName;
}
/**
* @param pictureName the pictureName to set
*/
public void setPictureName(String pictureName) {
this.pictureName = pictureName;
}
/**
* @return the picture
*/
public byte[] getUploadedFile() {
return uploadedFile;
}
/**
* @param picture the picture to set
*/
public void setUploadedFile(byte[] uploadedFile) {
this.uploadedFile = uploadedFile;
}
public void parse() throws Exception {
System.out.println(pictureName);
if(uploadedFile != null)
System.out.println("size = " + uploadedFile.length);
else
System.out.println("uploadedFile is null");
}
}I've got always uploadedFile is null message.
Any idea ?
Thanks