rich: fileUpload не очищает внутренний файл - не может загрузить дважды - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть простой rich:fileUpload компонент с maxFilesQuantity = 1:

<rich:fileUpload   id="fileUp"
   fileUploadListener="#{bean.listener}" 

   maxFilesQuantity="1"
   doneLabel="Success"                                           
   clearLabel="Clear"
   addLabel="Add"
   clearAllLabel="Clear"
   deleteLabel="Delete"
   serverErrorLabel="An error occured"
   sizeExceededLabel="File is too big"
   uploadLabel="Load file" 
   binding="#{uploadFileBean.fileUpload}"
   style="width: 800px"
   autoClear="true">

</rich:fileUpload>

Когда я загружаю один файл, а затем нажимаю «Загрузить файл», он вызывает метод bean.listener(), и я обрабатываю файл,это здорово.

Но я не могу сделать это во второй раз, не обновив страницу.Я могу Add файл снова в список (просмотреть браузер файлов браузера), но когда я нажимаю Load File, он показывает индикатор выполнения на секунду, а затем файл исчезает, и ничего не происходит, никаких журналов - ничего.

Я обнаружил, что это происходит, когда вы превысили maxFilesQuantity - и я сделал, потому что я пытаюсь загрузить второй файл - но я хочу как-то сбросить это, так что я могу сделать это без обновлениястраницы.

В документации говорится, что компонент rich:fileUpload необходимо перерисовать, но это не работает.Я также попытался удалить файл вручную из org.richfaces.component.UIFileUpload.delete() - тоже не работает.

Что мне здесь делать?Использование RichFaces 4.5.11

Ps.У меня есть <managed-bean-scope>session</managed-bean-scope> на этом бобе.Может ли это быть причиной?

...