<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{someBean.uploadedFile}" mode="simple" />
<p:commandButton value="Upload" action="#{someBean.upload}" ajax="false"/>
</h:form>
</html>
Код
package web;
import org.primefaces.model.UploadedFile;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
@Named
@RequestScoped
public class SomeBean implements Serializable {
private UploadedFile uploadedFile; // +getter+setter
public void upload() {
String fileName = uploadedFile.getFileName();
String contentType = uploadedFile.getContentType();
try {
InputStream inputStream = uploadedFile.getInputstream();
FileOutputStream outputStream = new FileOutputStream("Example.pdf");
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer, 0, buffer.length);
// записываем из буфера в файл
outputStream.write(buffer, 0, buffer.length);
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public UploadedFile getUploadedFile() {
return uploadedFile;
}
public void setUploadedFile(UploadedFile uploadedFile) {
this.uploadedFile = uploadedFile;
}
}
Подскажите пожалуйста почему при добавлении PDFа на задеплоином приложении получаю NullPointerException.Спасибо.
Код рабочий, загрузка и сохранение файла проходит без ошибок. Скорее всего, проблема с настройками веб-приложения. Проверьте, чтобы при старте сервера и приложения в логах не было ошибок, например ClassNotFoundException
.
Проверьте конфигурацию в web.xml
, прилагаю вариант, на котором тестирование прошло успешно:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<welcome-file-list>
<welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
Если ошибка повторится, добавьте лог стектрейса в вопрос.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пробую сделать recycling view, но столкнулась с такой ошибкой
Хочу при создании столбца по нажатии кнопки из ComboBox выбирать тип данных в столбце, но не могу найти ни свойство, ни методПодскажите, как менять...
Всем доброго времени сутокЯвляясь полнейшим профаном в программировании в целом я наткнулся на сайт http://strolen