diff --git a/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml b/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml
index 42514b7..4d7fad6 100644
--- a/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml
+++ b/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml
@@ -95,13 +95,17 @@
-
+
diff --git a/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java
index 3743ad4..892f226 100644
--- a/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java
+++ b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java
@@ -1,5 +1,6 @@
package managedbean.medicalTest;
+import java.io.ByteArrayInputStream;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalTime;
@@ -15,6 +16,8 @@ import javax.inject.Named;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.event.SelectEvent;
+import org.primefaces.model.DefaultStreamedContent;
+import org.primefaces.model.StreamedContent;
import org.primefaces.model.UploadedFile;
import TO.MedicalTestTO;
@@ -86,14 +89,14 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable {
}
public void uploadDataListener(FileUploadEvent event) {
- UploadedFile uploadedFile = event.getFile();
- String fileName = uploadedFile.getFileName();
- String contentType = uploadedFile.getContentType();
- byte[] contents = uploadedFile.getContents();
+ UploadedFile uploadedFile = event.getFile();
+ // String fileName = uploadedFile.getFileName();
+ String contentType = uploadedFile.getContentType();
+ byte[] contents = uploadedFile.getContents();
if (contents != null && contents.length > 0) {
this.selected.setHighresimage(String.format("data:%s;base64,%s", contentType, Base64.getEncoder().encodeToString(contents)));
-
+
this.getRemoteManagerMedicalTest().addImage(this.selected.getId(), this.selected.getHighresimage());
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Imagen guardada", "La imagen se ha guardado correctamente.");
@@ -101,7 +104,24 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable {
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Imagen vacía", "La imagen que itenta subir está vacía o no puede procesarse.");
}
}
-
+
+ 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() {
return imageUpload;
}
@@ -113,7 +133,7 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable {
public void removeImage() {
this.selected.setHighresimage(null);
getRemoteManagerMedicalTest().removeImage(this.selected.getId());
- //this.loadMedicalTests();
+ // this.loadMedicalTests();
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Imagen eliminada", "La imagen se ha eliminado correctamente.");
}