У меня есть параметр fileLimit, установленный на 1. Я хочу, чтобы, когда пользователь выбирал первый файл, кнопка выбора отключается.Отключить кнопку «Выбрать» fileUpload в файлах
0
A
ответ
1
Я разрешил помещать отключенный атрибут в fileUpload, который был загружен с булевой переменной в моем компоненте. Когда файл заканчивается для загрузки, переменная меняет его значения на true и я обновляю компонент fileUpload, затем компонент отключается. Спасибо, ребята, за помощью.
0
Попробуйте это.
XHTML
<p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}"
mode="advanced"
dragDropSupport="false"
update="messages,@this"
sizeLimit="100000"
fileLimit="1"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
disabled="#{fileUploadView.fileUploadCount >= 1}"/>
<p:growl id="messages" showDetail="true" />
managedbean
@ManagedBean
public class FileUploadView {
private int fileUploadCount;
public int getFileUploadCount() {
return fileUploadCount;
}
public void setFileUploadCount(int fileUploadCount) {
this.fileUploadCount = fileUploadCount;
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
fileUploadCount = fileUploadCount + 1;
}
}
Этот предложенный легко изменить ограничение файла. Если вы хотите изменить fileLimit на 2, вы просто меняете fileLimit="2"
и disabled="#{fileUploadView.fileUploadCount >= 2}"
без изменения managedbean.
Я хочу, чтобы пользователь не пытался загрузить более 1 файла. – Roland
Да, есть. Когда пользователь попытается загрузить второй файл, отобразится сообщение об ошибке. Но я не хочу, чтобы пользователь мог загрузить второй файл. – Roland