Añadido botón para descargar imagenes de pruebas médicas.
This commit is contained in:
@@ -95,13 +95,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="ui-g-2" />
|
<div class="ui-g-2" />
|
||||||
<div class="ui-g-8" style="align-content: center; text-align: center;">
|
<div class="ui-g-8" style="align-content: center; text-align: center;">
|
||||||
<h:graphicImage rendered="#{mt.selected.highresimage != null}" value="#{mt.selected.highresimage}" alt="Imagen de la prueba mécica" width="600" />
|
<h:graphicImage rendered="#{mt.selected.highresimage != null}" value="#{mt.selected.highresimage}" alt="Imagen de la prueba mécica" width="400" />
|
||||||
<h:outputText rendered="#{mt.selected.highresimage == null}" value="Esta prueba no tiene ninguna imagen asociada" style="font-weight: bold;" />
|
<h:outputText rendered="#{mt.selected.highresimage == null}" value="Esta prueba no tiene ninguna imagen asociada" style="font-weight: bold;" />
|
||||||
</div>
|
</div>
|
||||||
<div class="ui-g-2">
|
<div class="ui-g-2">
|
||||||
<p:commandButton rendered="#{mt.specialistDoctor and mt.selected.highresimage != null}" value="Eliminar" icon="pi pi-trash" action="#{mt.removeImage}" update="frmImage">
|
<p:commandButton rendered="#{mt.specialistDoctor and mt.selected.highresimage != null}" value="Eliminar" icon="pi pi-trash" action="#{mt.removeImage}" update="frmImage">
|
||||||
<p:confirm header="Confirme la eliminación" message="¿Está seguro de que desea eliminar la imagen?" icon="pi pi-exclamation-triangle" />
|
<p:confirm header="Confirme la eliminación" message="¿Está seguro de que desea eliminar la imagen?" icon="pi pi-exclamation-triangle" />
|
||||||
</p:commandButton>
|
</p:commandButton>
|
||||||
|
<p />
|
||||||
|
<p:commandButton rendered="#{mt.selected.highresimage != null}" ajax="false" value="Descargar" icon="pi pi-download">
|
||||||
|
<p:fileDownload value="#{mt.imageDownload}" />
|
||||||
|
</p:commandButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</p:outputPanel>
|
</p:outputPanel>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package managedbean.medicalTest;
|
package managedbean.medicalTest;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
@@ -15,6 +16,8 @@ import javax.inject.Named;
|
|||||||
|
|
||||||
import org.primefaces.event.FileUploadEvent;
|
import org.primefaces.event.FileUploadEvent;
|
||||||
import org.primefaces.event.SelectEvent;
|
import org.primefaces.event.SelectEvent;
|
||||||
|
import org.primefaces.model.DefaultStreamedContent;
|
||||||
|
import org.primefaces.model.StreamedContent;
|
||||||
import org.primefaces.model.UploadedFile;
|
import org.primefaces.model.UploadedFile;
|
||||||
|
|
||||||
import TO.MedicalTestTO;
|
import TO.MedicalTestTO;
|
||||||
@@ -87,7 +90,7 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable {
|
|||||||
|
|
||||||
public void uploadDataListener(FileUploadEvent event) {
|
public void uploadDataListener(FileUploadEvent event) {
|
||||||
UploadedFile uploadedFile = event.getFile();
|
UploadedFile uploadedFile = event.getFile();
|
||||||
String fileName = uploadedFile.getFileName();
|
// String fileName = uploadedFile.getFileName();
|
||||||
String contentType = uploadedFile.getContentType();
|
String contentType = uploadedFile.getContentType();
|
||||||
byte[] contents = uploadedFile.getContents();
|
byte[] contents = uploadedFile.getContents();
|
||||||
|
|
||||||
@@ -102,6 +105,23 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StreamedContent getImageDownload() {
|
||||||
|
DefaultStreamedContent dsc = null;
|
||||||
|
try {
|
||||||
|
String[] data = this.selected.getHighresimage().split(",");
|
||||||
|
String contentType = data[0];
|
||||||
|
|
||||||
|
// Obtenemos la extension del contentType
|
||||||
|
String extension = contentType.split(";")[0].split("/")[1];
|
||||||
|
String base64Image = data[1];
|
||||||
|
|
||||||
|
dsc = new DefaultStreamedContent(new ByteArrayInputStream(javax.xml.bind.DatatypeConverter.parseBase64Binary(base64Image)), contentType, "Imagen.".concat(extension));
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.manageException(e);
|
||||||
|
}
|
||||||
|
return dsc;
|
||||||
|
}
|
||||||
|
|
||||||
public UploadedFile getImageUpload() {
|
public UploadedFile getImageUpload() {
|
||||||
return imageUpload;
|
return imageUpload;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user