Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Problemas ao exibir foto (Aula - Acessando a câmera)

Bom dia / boa tarde / boa noite a todos! Seguinte, consigo tirar a foto normalmente, porém quando volta não exibe nenhuma imagem, ela está sendo salva localmente, e também dentro do localStorage, não estou conseguindo solucionar, alguém pode dar uma mão?

Código "usuarios-service.ts":

 salvaAvatar(avatar){
    localStorage.setItem(CHAVE, avatar);
  }

  obtemAvatar(){
    return localStorage.getItem(CHAVE) ? localStorage.getItem(CHAVE) : 'assets/img/avatar-padrao.jpg';
  }

Código "perfil.ts":

tira_foto(){
    this._camera.getPicture({
      destinationType: this._camera.DestinationType.FILE_URI,
      saveToPhotoAlbum: true,
      correctOrientation: true
    })
    .then(fotoUri => {
      fotoUri = normalizeUrl(fotoUri);
      this._usuarioService.salvaAvatar(fotoUri);
    })
    .catch(err => console.log(err));
  }

  get avatar(){
    return this._usuarioService.obtemAvatar();
  }
6 respostas

Boa noite, Vitor! Como vai?

Como vc está testando essa funcionalidade? Através do Ionic DevApp ou está fazendo o build nativo da aplicação?

Como visto em aula, para testar essa funcionalidade é necessário fazer o build nativo da aplicação! Verifique isso aí!

Build nativo, rodando o comando que passou pra instalar a APK direto no device

Vc poderia compartilhar cmg o seu código (no github, dropbox ou google drive)? Aí eu dou uma olhada melhor no que está acontecendo e te ajudo!

OBS.: Não mande a pasta node_modules junto ao compartilhar o projeto.

Essa node_modules sempre complica... kkkkkk Segue link: https://drive.google.com/file/d/14-a71eoQIPsGOhihJ_ZDETuu8qPtpsWD/view?usp=sharing

solução!

E ae Vitor, blz!!

Eu estava tendo o mesmo problema, não sei se vc fez como eu e utilizei as ultimas versões do node js, e todos os componentes nativos, peguei sempre a ultima versão.

O problema no meu caso foi o normalizeURL, se eu retirar eu consigo gravar a imagem, ou para utilizá-lo eu importei do 'ionic-angular', meu import ficou assim:

import { IonicPage, NavController, NavParams, normalizeURL } from 'ionic-angular';

OBS: O seu código esta normalizeUrl (com Url e não URL), o visual studio no meu caso fez um import de deep-linker:

import { normalizeUrl } from 'ionic-angular/navigation/deep-linker';

To usando tudo no mais atualizado também, o problema era realmente este. Estava puxando da: import { normalizeURL } from 'ionic-angular/util/util'; Utilizando da maneira que disse realmente resolveu, obrigado!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software