File upload 使用rich:fileUpload获取上载文件的文件内容

File upload 使用rich:fileUpload获取上载文件的文件内容,file-upload,richfaces,File Upload,Richfaces,因此,我有一个包含以下代码的xhtml页面: <rich:fileUpload id="uploadReportTemplate" addControlLabel="Add XSLT" fileUploadListener="#{manageFeedTypeAction.fileUploadListener}"

因此,我有一个包含以下代码的xhtml页面:

<rich:fileUpload 
            id="uploadReportTemplate" 
            addControlLabel="Add XSLT"                                        
            fileUploadListener="#{manageFeedTypeAction.fileUploadListener}"
            uploadData="#{manageFeedTypeAction.data}"                                                 
            listWidth="63px" listHeight="0px" maxFilesQuantity="1"                        
            immediateUpload="true" acceptedTypes="xsl,xslt" 
            allowFlash="false"
            status="eventQueueFileUpload"                    
            ontyperejected="javascript:Richfaces.showModalPanel('wrongSelectionModal');this.disabled=false">
    <a4j:support event="onuploadcomplete" reRender="fileUploadPanel"/>
</rich:fileUpload>


我只允许用户上传一个文件。一旦这个文件已经上传,我希望检查文件是否包含某个关键字。如何检查文件是否包含该关键字?请提供帮助。

我可以通过向fileUploadListener方法添加以下代码来解决此问题,该方法在上面的
fileUploadListener=“#{manageFeedTypeAction.fileUploadListener}”
处调用:

public void fileUploadListener(UploadEvent event) {
    UploadItem item = event.getUploadItem();
    if(item == null || item.getData() == null) {
        LOG.error("Uploaded item is null");
    } else {
        String value = new String(item.getData());
        if(value.toLowerCase().contains("String")) {
            LOG.error("Cannot contain 'String'");
        } else {
            setData(item.getData());
            setFileName(item.getFileName());
        }
    }
}