【问题标题】:How to limit number of files allowed to be uploaded using <p:fileUpload>如何使用 <p:fileUpload> 限制允许上传的文件数量
【发布时间】:2012-09-21 06:07:01
【问题描述】:

如何限制在 JSF 2 + primefaces 应用程序中允许上传的文件数量。 primeface 3.3 中有属性“filelimit”,但我使用的是 primefaces 3.4

【问题讨论】:

  • INMO,你最好的选择是auto="true"

标签: file-upload jsf-2 primefaces


【解决方案1】:

看起来 fileLimit 选项已在问题 3618 中删除

正如 cmets 中提到的,在支持 bean 中使用计数器并丢弃额外文件或添加 FacesMessage 以通知用户已达到最大文件限制。

代码示例:

@ManagedBean
@ViewScoped
public class FileUploadController {

    private final static int MAX_NUM_FILES = 3;
    private List<UploadedFile> uploadedFiles;
    private int counter = 0;

    @PostConstruct
    public void init() {
        uploadedFiles = new ArrayList<UploadedFile>();
    }


    public void handleFileUpload(FileUploadEvent event) {
        if (counter < MAX_NUM_FILES) {
            uploadedFiles.add(event.getFile());
            FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
            counter ++;       
        }
        else {
            FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "File Upload Limit Reached ", event.getFile().getFileName() + " is not uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2013-03-20
    • 2013-08-05
    • 1970-01-01
    • 2014-09-11
    相关资源
    最近更新 更多