Simple uploader uses native browser file upload. Simple uploader is disabled at online demo.
Documentation<p:growl id="messages" showDetail="true" />
Single file<br />
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{fileUploadView.file}" mode="simple" skinSimple="true"/>
<br />
<p:commandButton value="Submit" ajax="false" action="#{fileUploadView.upload}" disabled="true" />
</h:form>
<br />
<br />
Multiple files; NOTE: in simple mode, you can get all files withing a single request!<br />
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{fileUploadView.files}" mode="simple" skinSimple="true" multiple="true" />
<br />
<p:commandButton value="Submit" ajax="false" action="#{fileUploadView.uploadMultiple}" disabled="true" />
</h:form>@Named
@RequestScoped
public class FileUploadView {
private UploadedFile file;
private UploadedFiles files;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public UploadedFiles getFiles() {
return files;
}
public void setFiles(UploadedFiles files) {
this.files = files;
}
public void upload() {
if (file != null) {
FacesMessage message = new FacesMessage("Successful", file.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
public void uploadMultiple() {
if (files != null) {
for (UploadedFile f : files.getFiles()) {
FacesMessage message = new FacesMessage("Successful", f.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Successful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}