From 201121c5d28352796ba8dc02f5dfc88892a3a4c1 Mon Sep 17 00:00:00 2001 From: dotansimha Date: Tue, 24 Jan 2017 22:47:18 +0200 Subject: [PATCH] Step 12.14: Implement upload method --- client/imports/services/picture.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/client/imports/services/picture.ts b/client/imports/services/picture.ts index 6102151..9ffcb00 100644 --- a/client/imports/services/picture.ts +++ b/client/imports/services/picture.ts @@ -2,6 +2,9 @@ import { Injectable } from '@angular/core'; import { Platform } from 'ionic-angular'; import { ImagePicker } from 'ionic-native'; import { UploadFS } from 'meteor/jalik:ufs'; +import { _ } from 'meteor/underscore'; +import { PicturesStore } from '../../../imports/collections'; +import { DEFAULT_PICTURE_URL } from '../../../imports/models'; @Injectable() export class PictureService { @@ -28,7 +31,23 @@ export class PictureService { } upload(blob: Blob): Promise { - return Promise.resolve(); + return new Promise((resolve, reject) => { + const metadata = _.pick(blob, 'name', 'type', 'size'); + + if (!metadata.name) { + metadata.name = DEFAULT_PICTURE_URL; + } + + const upload = new UploadFS.Uploader({ + data: blob, + file: metadata, + store: PicturesStore, + onComplete: resolve, + onError: reject + }); + + upload.start(); + }); } convertURLtoBlob(URL: string): Promise {