Witam,
Poniższa klasa pobiera plik pdf z lokalizacji wskazanej polem filepath="/resources/file/regulamin.pdf";.
Zamieszczony jest tam link względny do pliku (rozumiem, że względny odnośnie strony xhtml z której wywołuję pobranie pliku).
Problem w tym , że jeśli zmienię lokalizację i odwołanie do pliku oraz wprowadzę ścieżkę bezwględną tzn. filepath="E:/files/regulamin.pdf" lub pisane
tak : filepath="E:\\files\\regulamin.pdf" nie mogę nic pobrać i JRE zwraca NullPointera.
Jak zatem złożyć adres względny lub bezwzględny do tego pliku ?
(/..z taką bzdurką męczę się już ładną chwilę.....)
Klasa jest wzięta z PrimeFacesów 6.2
.
@ManagedBean
@RequestScoped
public class FileDownloadView {
public final static Logger logger = Logger.getLogger(FileUploadView.class.getName());
private StreamedContent file;
public StreamedContent getFile()
{
return file;
}
public String contentparam="application/pdf";
public String filepath="/resources/file/regulamin.pdf";
public String filename="regulamin.pdf";
public FileDownloadView() throws Exception {
try {
Thread.sleep(1500);
InputStream stream = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(filepath);
file = new DefaultStreamedContent(stream, contentparam, filename);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}