Здравствуйте еще раз я задать вопрос на StackOverflow: DКак загрузить изображение в JSF
Как я могу загрузить файл с помощью JSF primefaces? у меня есть метод ручки Загрузить изображение
public void handleFileUpload(FileUploadEvent event) {
ExternalContext extContext = FacesContext.getCurrentInstance().
getExternalContext();
File result = new File(extContext.getRealPath
("//admin//item") + "//" + event.getFile().getFileName());
try {
FileOutputStream fileOutputStream = new FileOutputStream(result);
byte[] buffer = new byte[BUFFER_SIZE];
int bulk;
InputStream inputStream = event.getFile().getInputstream();
while (true) {
bulk = inputStream.read(buffer);
if (bulk < 0) {
break;
}
fileOutputStream.write(buffer, 0, bulk);
fileOutputStream.flush();
}
fileOutputStream.close();
inputStream.close();
FacesMessage msg = new FacesMessage("Succesful",
event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
} catch (IOException e) {
e.printStackTrace();
FacesMessage error = new FacesMessage("The files were not uploaded!");
FacesContext.getCurrentInstance().addMessage(null, error);
}
}
он работает хорошо, но это только работает, когда сервер развертывания, когда я загрузить файл на сервер, папку // админ/элемент/есть изображение, но когда я повторно запустить сервер я могу «т найти изображение я был загружен
и как я могу отобразить эскизы для каждого элемента с каждым собственным изображением
СПАСИБО ВАС ОЧЕНЬ МНОГО, но как я могу отображать миниатюру? Я использую 'h: graphicImage value" var/webapp/upload/# {getName} "id =" thumb "' и повторно его рендерить, он не работает, но с h: inputText я могу получить имя изображения, пожалуйста, помогите мне ! thank – MYE
Либо отобразите его как другой контекст webapp, чтобы он был доступен, например, http://example.com/upload или использовать сервлет, который передает байты с диска на ответ. – BalusC
См. Также мой ответ на [этот вопрос] (http://stackoverflow.com/questions/3723718/what-is-the-correct-path-i-need-to-see-my-uploaded-image) для более подробной информации на любом из подходов. – BalusC