如何获取要由primefaces上传的文件的名称

时间:2017-03-30 13:43:42

标签: primefaces jsf-2

我正在使用" FileUpload"使用" advanced"模式,我希望一旦用户选择他想要上传的文件并在提交之前获取该文件的名称。

属性" Onstart" AND" Oncomplete"单击提交按钮后执行,因此我无法使用它们。

我尝试使用验证器方法获取名称,但它似乎是一个主要的错误,因为该方法永远不会被调用。

<p:fileUpload id="fileToUpload" label="Browse"
                            fileUploadListener="#{uploadFile.handleFileUpload}"
                            mode="advanced" dragDropSupport="false" value = "#{uploadFile.file2}"
                            update="growl uploadFile_exposureType"
                            oncomplete="if(PF('ajaxLoaderDialogWidgetImport')) PF('ajaxLoaderDialogWidgetImport').hide();refreshAllRowNumbers();PF('importRisksList').hide();"
                            allowTypes="/(\.|\/)(xlsx|xls|kml)$/"
                            onstart="if(PF('ajaxLoaderDialogWidgetImport')) PF('ajaxLoaderDialogWidgetImport').show();"
                            styleClass="reimport_upload Browse browse_uploadBtn" valueChangeListener="#{uploadFile.handleChange}" >
                            </p:fileUpload>

1 个答案:

答案 0 :(得分:0)

设置fileUploadLisener(fileUploadListener =&#34;#{fileUploadView.handleFileUpload}&#34;)。

在bean中使用

获取文件名
public void handleFileUpload(FileUploadEvent event) {
    fileName = event.getFile().getFileName();
}