Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. import { Component } from '@angular/core';
  2. import { Observable } from 'rxjs/Observable';
  3. import { Subscription } from 'rxjs/Subscription';
  4. import * as firebase from 'firebase/app';
  5. import { AngularFireAuth } from 'angularfire2/auth';
  6. import { AngularFireStorage } from 'angularfire2/storage';
  7.  
  8. @Component({
  9. selector: 'app-upload',
  10. templateUrl: './upload.component.html',
  11. styleUrls: ['./upload.component.css']
  12. })
  13. export class UploadComponent {
  14.  
  15. task: FirebaseUploadTaskObservable<firebase.storage.UploadTaskSnapshot>;
  16. state: Observable<String>;
  17. uploading: Observable<Boolean>;
  18. success: Observable<Boolean>;
  19. percentage: Observable<number>;
  20.  
  21. constructor(private afAuth: AngularFireAuth, private storage: AngularFireStorage) { }
  22.  
  23. upload(event) {
  24. const file = event.srcElement.files[0];
  25.  
  26. this.task = this.storage.upload(`/uploads/${file.name}`, file, {
  27. customMetadata: {
  28. uid: this.afAuth.auth.currentUser.uid
  29. }
  30. });
  31.  
  32. this.state = task.map(s => s.state);
  33. this.uploading = state.map(s => s === firebase.storage.TaskState.RUNNING);
  34. this.success = state.map(s => s === firebase.storage.TaskState.SUCCESS);
  35. this.percentage = task.map(s => s.bytesTransferred / s.totalBytes * 100);
  36. }
  37.  
  38. pause(event) {
  39. task.pause();
  40. }
  41.  
  42. resume(event) {
  43. task.resume();
  44. }
  45.  
  46. cancel(event) {
  47. task.cancel();
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement