From cbe1d3dd554b3e0d63452d524abb954ebfa454d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garcia=20Nu=C3=B1ez?= Date: Fri, 3 Jan 2020 18:39:17 +0100 Subject: [PATCH] =?UTF-8?q?Mejora=20en=20la=20subida=20de=20imagenes=20de?= =?UTF-8?q?=20pruebas=20m=C3=A9dicas:=20*=20Subida=20mediante=20ajax.=20*?= =?UTF-8?q?=20No=20se=20recarga=20la=20p=C3=A1gina=20y=20no=20se=20pierde?= =?UTF-8?q?=20la=20prueba=20seleccionada.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docroot/medicaltest/MedicalTests.xhtml | 20 +++++------ .../medicalTest/MedicalTestMBean.java | 33 +++++++++++-------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml b/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml index 1466737..42514b7 100644 --- a/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml +++ b/1.sources/MyHealth/docroot/medicaltest/MedicalTests.xhtml @@ -89,22 +89,20 @@
Imagen de alta resolución:
-
- +
+ +
+
+
+ +
- -
-
- +
- -
- -
diff --git a/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java index fbbddfe..3743ad4 100644 --- a/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java +++ b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java @@ -13,6 +13,7 @@ import javax.faces.event.AjaxBehaviorEvent; import javax.faces.view.ViewScoped; import javax.inject.Named; +import org.primefaces.event.FileUploadEvent; import org.primefaces.event.SelectEvent; import org.primefaces.model.UploadedFile; @@ -55,7 +56,7 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable { public void init() { this.userType = SessionUtils.getUserType(); this.userID = Integer.valueOf(SessionUtils.getUserId()); - + this.medicalTestTypes = new ArrayList(); this.medicalTestTypes.add(MedicalTestType.BLOOD_TEST); this.medicalTestTypes.add(MedicalTestType.CT_SCAN); @@ -84,20 +85,23 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable { this.loadMedicalTests(); } - public void addImage() { - if (this.imageUpload != null) { - String content = "data:" + imageUpload.getContentType() + ";base64," + Base64.getEncoder().encodeToString(imageUpload.getContents()); - System.out.println("FILE Content base64: "); - System.out.println(content); - this.selected.setHighresimage(content); - getRemoteManagerMedicalTest().addImage(this.selected.getId(), content); - this.loadMedicalTests(); - this.imageUpload = null; + public void uploadDataListener(FileUploadEvent event) { + 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."); } else { - System.out.println("IMAGEN SUBIDA ES NULA"); + this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Imagen vacía", "La imagen que itenta subir está vacía o no puede procesarse."); } } - + public UploadedFile getImageUpload() { return imageUpload; } @@ -109,7 +113,8 @@ 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."); } public MedicalTestTO getSelected() { @@ -234,7 +239,7 @@ public class MedicalTestMBean extends ManagedBeanBase implements Serializable { public void addMT() { // Si hay un paciente filtrado en la busqueda de pruebas, lo seleccionamos para la prueba a añadir. - //this.patSelected = this.patientFilterSelected; + // this.patSelected = this.patientFilterSelected; this.testDate = LocalDate.now(); this.testTime = LocalTime.now(); this.testObservations = "";