tadeuespindola

sugestao-salvar

May 17th, 2021
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1.     public String salvar() throws IOException {
  2.         processarImagem();
  3.         daoGeneric.salvar(pessoa);
  4.         pessoa = new Pessoa(); 
  5.         carregarPessoas();
  6.         mostrarMsg("cadastrado com sucesso!");
  7.         return "";
  8.     }
  9.    
  10.     private void processarImagem() {
  11.         byte[] imagemByte = null;
  12.         if (arquivofoto != null) {
  13.             imagemByte = getByte(arquivofoto.getInputStream());            
  14.         }      
  15.         if (imagemByte != null && imagemByte.length > 0) {
  16.             /* processar a imagem */       
  17.             pessoa.setFotoIconBase64Original(imagemByte); //salva a foto original
  18.            
  19.             //transformar em bufferimage
  20.             BufferedImage bufferedImage = ImageIO.read(new ByteArrayInputStream(imagemByte));
  21.            
  22.             //pega o tipo da imagem
  23.             int type = bufferedImage.getType() == 0? BufferedImage.TYPE_INT_ARGB : bufferedImage.getType();
  24.            
  25.             int largura = 200;
  26.             int altura = 200;
  27.            
  28.             //criar a miniatura da imagem
  29.             BufferedImage resizeImage = new BufferedImage(altura, largura, type);
  30.             Graphics2D g = resizeImage.createGraphics();
  31.             g.drawImage(bufferedImage, 0, 0, largura, altura, null);
  32.             g.dispose();
  33.            
  34.             //escrever novamente a imagem em tamanho menor
  35.             ByteArrayOutputStream baos = new ByteArrayOutputStream();
  36.             String extensao = arquivofoto.getContentType().split("\\/")[1]; //image/png -- a posicao do array é pq a extensao do arquivo vem depois de image
  37.             ImageIO.write(resizeImage, extensao, baos);
  38.            
  39.             String miniImagem = "data:" + arquivofoto.getContentType() + ";base64," + DatatypeConverter.printBase64Binary(baos.toByteArray());
  40.                        
  41.             /* processar a imagem */
  42.            
  43.             /* processar a imagem part final */
  44.             pessoa.setFotoIconBase64(miniImagem);
  45.             pessoa.setExtensao(extensao);
  46.             /* processar a imagem part final */
  47.         }      
  48.     }
Add Comment
Please, Sign In to add comment