从外部文件夹primefaces javax.servlet.ServletException加载文件时出错

从外部文件夹primefaces javax.servlet.ServletException加载文件时出错,primefaces,download,jsf-2.2,Primefaces,Download,Jsf 2.2,我使用的是jsf 2.2 primefaces 6.0,我实现了一个下载图片的解决方案。问题是,当我将图片放在ressource文件内部时,该解决方案运行良好,如下所示: 但当我尝试使用链接从外部存储库下载时,会出现一条错误消息: 下面是xhtml代码: <p:column style="text-align: center" headerText="Télécharger"> <p:commandButton value="Do

我使用的是jsf 2.2 primefaces 6.0,我实现了一个下载图片的解决方案。问题是,当我将图片放在ressource文件内部时,该解决方案运行良好,如下所示:

但当我尝试使用链接从外部存储库下载时,会出现一条错误消息:

下面是xhtml代码:

<p:column style="text-align: center" headerText="Télécharger">
                        <p:commandButton value="Download" ajax="false"
                            onclick="PrimeFaces.monitorDownload(start, stop);"
                            icon="ui-icon-arrowthick-1-s">
                            <p:fileDownload value="#{fileDownloadView.file}" />
                        <f:setPropertyActionListener value="#{a}"
                            target="#{demandeBean.demandeSelectionnee}" />
                    </p:commandButton>
                </p:column>
}
我需要帮助来解决这个问题。

请将错误作为代码而不是图像发布可能的副本
package mBeans;

import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;

import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent;

@ManagedBean
@SessionScoped
public class FileDownloadView implements Serializable{

    private StreamedContent file;

    public FileDownloadView() throws FileNotFoundException, TransformerConfigurationException, TransformerException {
        InputStream stream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(
                "http://localhost:18080/openCars/images/hichem.jpg");
        file = new DefaultStreamedContent(stream, "image/jpg", "downloaded_optimus.jpg");

    }

    public StreamedContent getFile() {
        return file;
    }