Does anyone have a solution? Help!
CODE XHTML:
Code: Select all
<div class="uploadImageBox">
<p:fileUpload id="IdUpFileOBJ" widgetVar="IdUpWV"
fileUploadListener="#{fileUploadMiniaturaMB.upload}"
auto="true" multiple="false" label="#{msg.value_sfoglia}"
mode="advanced" dragDropSupport="false"
update="IdUpPreview,IdUpCancella,IdUpFileName,:messages"
sizeLimit="#{sessionMB.maxFileSize}"
allowTypes="/(\.|\/)(#{sessionMB.estensioneConsentite})$/" />
<div class="singolaFoto">
<p:graphicImage value="#{sessionMB.fileMiniatura}"
id="IdUpPreview" width="200" height="200" cache="false" />
<p:outputLabel value="#{fileUploadMiniaturaMB.fileNameUpload}"
id="IdUpFileName" />
<p:commandButton id="IdUpCancella"
disabled="#{!(sessionMB.sizeFileMiniatura>0)}"
value="#{msg.value_cancella}" immediate="true"
actionListener="#{fileUploadMiniaturaMB.delete}"
title="#{msg.title_cancella}"
update="IdUpPreview,IdUpCancella,IdUpFileName">
<f:attribute name="removeImageMiniatura" value="true" />
</p:commandButton>
</div>
</div>
Code: Select all
@ManagedBean(name = BeanNameConstants.FILE_UPLOAD_MINIATURA_MB)
public class FileUploadMiniaturaMB {
public void upload(FileUploadEvent event) throws Exception {
this.fileNameUpload = event.getFile().getFileName();
SessionMB ses = FacesContext
.getCurrentInstance()
.getApplication()
.evaluateExpressionGet(FacesContext.getCurrentInstance(),
"#{" + BeanNameConstants.SESSION_MB + "}",
SessionMB.class);
ses.setUploadedFileMiniatura(event.getFile());
}
.....
.....
}
Code: Select all
@ManagedBean(name = BeanNameConstants.SESSION_MB)
@SessionScoped
public class SessionMB extends BaseMB {
private String estensioneConsentite;
private String maxFileSize;
public long sizeFileMiniatura;
...........
public StreamedContent getFileMiniatura() throws Exception {
if (this.removeImageMiniatura != null && !this.removeImageMiniatura
&& uploadedFileMiniatura != null) {
InputStream is = uploadedFileMiniatura.getInputstream();
setSizeFileMiniatura(uploadedFileMiniatura.getSize());
String estensione = Utility.findMimeTypeImage(uploadedFileMiniatura
.getFileName()); // return "image/jpg"
return new DefaultStreamedContent(is, estensione);
} else {
this.removeImageMiniatura = false;
uploadedFileMiniatura = null;
setSizeFileMiniatura(0);
return null;
}
}
........
}
Jdk: 1.7
JSF: 2.1
Primefaces: 4.0