Не удается загрузить файл ricefaces, если в текстовом файле есть пробел - PullRequest
1 голос
/ 19 марта 2020

У меня есть файл x html, который загружает изображения в формате PDF и TXT. код ниже

   <rich:fileUpload fileUploadListener="#{DfeOper017MBean.listener}" listWidth="600px"
                         maxFilesQuantity="#{DfeOper017MBean.uploadsAvailable}"
                         id="upload"    
                         styleClass="additionalMarginTop"
                         transferErrorLabel="Wystąpiły problemy. Sprawdź, czy plik został przesłany."
                         noDuplicate="true" immediate="true" ajaxSingle="true"
                         immediateUpload="#{DfeOper017MBean.autoUpload}"
                         allowFlash="#{DfeOper017MBean.useFlash}"
                         acceptedTypes="#{DfeOper017MBean.svAcceptedExtTypes}"
                         addControlLabel="${msg['page.dfeOper017form.fileUpload.addControlLabel']}" 
                         clearAllControlLabel="${msg['page.dfeOper017form.fileUpload.clearAllControlLabel']}"
                         clearControlLabel="${msg['page.dfeOper017form.fileUpload.clearControlLabel']}"
                         stopEntryControlLabel="${msg['page.dfeOper017form.fileUpload.stopEntryControlLabel']}" 
                         uploadControlLabel="${msg['page.dfeOper017form.fileUpload.uploadControlLabel']}"
                         cancelEntryControlLabel="${msg['page.util.abort']}"
                         ontyperejected="alert('The selected file type is not supported.')"
                         doneLabel="${msg['page.util.ok']}" status="waitStatus">
            <f:facet name="label">
                <h:outputText value="{_KB}KB z {KB}KB" />
            </f:facet>
            <a4j:support event="onuploadcomplete" reRender="docsInfoPanel"/>
        </rich:fileUpload>

Проблема возникает, когда я сохраняю файл с пробелом перед расширением .txt и пытаюсь загрузить, я получаю предупреждение об ошибке, как указано выше: «Выбранный тип файла не поддерживается.», Как можно Я уверен, что имя файла обрезается. ? пример файла, который терпит неудачу, является "filename .txt", это терпит неудачу прежде, чем listner (DfeOper017MBean.listener) запущен. прежде чем он достигнет java

Я думаю, что проблема с rich: fileUpload, но я не могу подтвердить это, какие-либо предложения?

1 Ответ

3 голосов
/ 19 марта 2020

Имена файлов проверяются с помощью /(?:\S+)\.(\S+)$/, поэтому ваши файлы не проходят; либо переименуйте эти файлы, либо перезапишите метод проверки файлов (FileUpload.checkFileType), либо обновите до RF 4.

...