Я использую PrimeFaces 5.3 <p:fileUpload>
для загрузки изображения PNG, и перед его сохранением в базе данных я хочу показать его в <p:graphicImage>
.Показать p: fileupload image in p: graphicImage preview без сохранения
Вот MCVE:
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{bean.uploadedFile}" mode="simple" />
<p:graphicImage value="#{bean.image}" />
<p:commandButton action="#{bean.preview}" ajax="false" value="Preview" />
</h:form>
private UploadedFile uploadedFile;
public UploadedFile getUploadedFile() {
return uploadedFile;
}
public void setUploadedFile(UploadedFile uploadedFile) {
this.uploadedFile = uploadedFile;
}
public void preview() {
// NOOP for now.
}
public StreamedContent getImage() {
if (uploadedFile == null) {
return new DefaultStreamedContent();
} else {
return new DefaultStreamedContent(new ByteArrayInputStream(uploadedFile.getContents()), "image/png");
}
}
ошибка не происходит на заднем боба, и изображение не будет нагрузки и дисплей на переднем конце. Клиент упоминает, что изображение возвратило 404 не найденную ошибку.
Вы говорите, что загрузка работает так, как этот вопрос [тег: файл-загрузка], связанные и не [теги: графический образ] – Kukeltje
потому что 'байты []' источник пришли из содержания загрузки, так я получил загружаемый контент 'byte []', но когда я использую загружаемый контент для отображения на веб-странице, он не будет отображаться и говорить, что ресурс не найден –
Итак, вы имеете в виду, что если вы вручную ставите байт [] в базе данных, а не через загрузку файла, он работает? – Kukeltje