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); } }