尝试使用icefaces Fileentry组件上传文件时获取FileNotFoundException

时间:2016-04-06 07:11:04

标签: java xhtml icefaces

我正在尝试通过浏览功能将xls文件上传到我的服务器,但我得到的是异常。我可以看到它正在采用的路径为null,即使我没有明确设置任何路径。

java.io.FileNotFoundException: no such entry: "null\trQYXGpMctrhhDvnJ92wDYLJ0DZw1VFyjM2TnNQTQSj2nDPD104P!1525033770!1459920524559\IP1RateList.xls"

我的方法实施

FileEntry fileEntry;
fileEntry = (FileEntry) fe.getComponent();
FileEntryResults results = fileEntry.getResults();

for (FileEntryResults.FileInfo fileInfo : results.getFiles()) {
    if (fileInfo.getFileName().endsWith(XLS)) {
        setUploadFile(fileEntry.getResults().getFiles().get(0).getFile());
        uploadDocument();
    } else {
        JavascriptContext.addJavascriptCall(
                FacesContext.getCurrentInstance(), "importExcel.hide();");
        getBaseBean().getErrorMessagesList().add(
                messageFactory.getMessage(ERROR_INVALID_EXCEL_FILE));
    }
}

我的xhtml文件

<ice:panelGrid>
    <ace:fileEntry id="fileEntryComponent"
        useOriginalFilename = "true"
        fileEntryListener="#{ip1ListRatesBean.loadButton}"
        maxFileCount="1"
        maxFileCountMessage="Please upload one file at a time."
        relativePath="/files/" 
        useSessionSubdir="true"
        autoUpload="false">
    </ace:fileEntry>                                                
</ice:panelGrid>

在网站上阅读了一些评论之后,我还在web.xml中添加了context-param。

<context-param>
    <param-name>org.icefaces.mandatoryResourceConfiguration</param-name>
    <param-value>fileEntry</param-value>
</context-param>

如果需要进一步的信息,请告诉我。

由于

1 个答案:

答案 0 :(得分:0)

由于xml类加载器问题,使用xlsx格式时出现了同样的错误 - XSSFWorkbook。我改为HSSFWorkbook使用旧的excel它解决了这个问题。 因此,请查看更改格式或查看xml-bean加载是否存在任何问题。