Kheronn K. Machado
3 min readSep 20, 2018

Angular 6 e Firebase — Desenvolvendo um portfólio (parte 5)

Upload de Imagens

Nesta postagem vou mostrar como realizar uploads de arquivos utilizando o serviço de armazenamento do Firebase, o Storage.

O resultado final será a inclusão de um campo no formulário e a visualização da imagem após a realização do envio.

O primeiro passo é importar o módulo AngularFireStorageModule em app.module.ts para utilizarmos as funções de upload da biblioteca angularfire2. (aque agora mudou para @angular/fire).

// Outros imports omitidos - Baixe o arquivo completo
// no final da postagem
import { AngularFireStorageModule } from ‘angularfire2/storage’;
@NgModule({
imports: [
BrowserModule,
AppRoutingModule,
ReactiveFormsModule, AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule, // imports firebase/firestore, only needed for database features
AngularFireAuthModule, // imports firebase/auth, only needed for auth features,
AngularFireStorageModule // imports firebase/storage only needed for storage features
],

No arquivo gerencia-component.html, vamos inserir no template um campo input para o usuário informar onde está a imagem que ele deseja enviar para o servidor. Vamos inserir também um campo para monitorar o progresso do upload (linha 27).

Método Upload

No arquivo gerencia.component.ts devemos importar a classe AngularFireStorage e a interface AngulafarFireUploadTask (linha 6).

Declaramos 5 objetos que nos ajudarão a realizar e monitorar (linha 7) o upload.

Injetamos a classe no construtor (linha 14).

No método upload() fazemos uma referência do storage (linha 20) e invocamos o upload passando o arquivo (linha 21). O retorno nós guardamos no task para recuperar o endereço no servidor (linha 25) e salvar posteriormente (linha 38).

Na linha 29 conseguimos monitorar o andamento do upload.

Finalmente, para o funcionamento da implementação é necessário que mudamos as regras do Storage no Firebase. Por padrão, o storage exige a autenticação, mas para testes vamos remover essa restrição.

Acesse o console do firebase em https://console.firebase.google.com e no menu esquerdo, clique em Storage.

Na guia regras, deixe assim:

e clique em Publicar.

Pronto, agora você consegue realizar o upload de imagens para os projetos.

Para ver os arquivos, no console do firebase, em Storage, você tem acesso aos arquivos enviados.

O código do projeto está aqui.

Até :)

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Kheronn K. Machado
Kheronn K. Machado

Written by Kheronn K. Machado

Professor, pesquisador e desenvolvedor.

Responses (2)