Получить содержимое файла, загруженного с помощью rich: fileUpload - PullRequest
0 голосов
/ 21 июля 2011

Итак, у меня есть страница 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 голосов
/ 27 июля 2011

Мне удалось решить эту проблему, добавив следующий код в метод 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());
        }
    }
}
...