【发布时间】:2012-09-21 06:07:01
【问题描述】:
如何限制在 JSF 2 + primefaces 应用程序中允许上传的文件数量。 primeface 3.3 中有属性“filelimit”,但我使用的是 primefaces 3.4
【问题讨论】:
-
INMO,你最好的选择是
auto="true"
标签: file-upload jsf-2 primefaces
如何限制在 JSF 2 + primefaces 应用程序中允许上传的文件数量。 primeface 3.3 中有属性“filelimit”,但我使用的是 primefaces 3.4
【问题讨论】:
auto="true"
标签: file-upload jsf-2 primefaces
看起来 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);
}
}
}
【讨论】: