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

时间:2011-07-21 19:24:08

标签: file-upload richfaces

所以我有一个包含以下代码的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>

我只允许用户上传一个文件。上传此文件后,我希望检查该文件是否包含某个关键字。如何检查文件是否包含该关键字?请帮忙。

1 个答案:

答案 0 :(得分:0)

我能够通过将以下代码添加到上面fileUploadListener="#{manageFeedTypeAction.fileUploadListener}"调用的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());
        }
    }
}