Ionic 3 filechooser не отображается - PullRequest
0 голосов
/ 19 сентября 2019

Я написал mesnger в ionic 3, потому что доступно хорошее руководство.У меня есть следующий метод, который дает мне проблемы, он находится в службе imghandler.

 uploadimage() {
var promise = new Promise((resolve, reject) => {
    this.filechooser.open().then((url) => {
      (<any>window).FilePath.resolveNativePath(url, (result) => {
        this.nativepath = result;
        (<any>window).resolveLocalFileSystemURL(this.nativepath, (res) => {
          res.file((resFile) => {
            var reader = new FileReader();
            reader.readAsArrayBuffer(resFile);
            reader.onloadend = (evt: any) => {
              var imgBlob = new Blob([evt.target.result], { type: 'image/jpeg' });
              var imageStore = this.firestore.ref('/profileimages').child(firebase.auth().currentUser.uid);
              imageStore.put(imgBlob).then((res) => {
                this.firestore.ref('/profileimages').child(firebase.auth().currentUser.uid).getDownloadURL().then((url) => {
                  resolve(url);
                }).catch((err) => {
                    reject(err);
                })
              }).catch((err) => {
                reject(err);
              })
            }
          })
        })
      })
  })
})
 return promise;

}

Когда моя программа запускается во время выполнения, я получаю следующую ошибку при открытии filechooser.

 Error: Uncaught (in promise): TypeError: Object(...) is not a function
 TypeError: Object(...) is not a function
at FileChooser.open (http://localhost:8100/build/vendor.js:79128:129)
at http://localhost:8100/build/main.js:302:31
at new t (http://localhost:8100/build/polyfills.js:3:14699)
at ImghandlerProvider.webpackJsonp.281.ImghandlerProvider.uploadimage (http://localhost:8100/build/main.js:301:23)
at ProfilepicPage.webpackJsonp.467.ProfilepicPage.chooseimage (http://localhost:8100/build/2.js:91:25)
at Object.eval [as handleEvent] (ng:///ProfilepicPageModule/ProfilepicPage.ngfactory.js:164:24)
at handleEvent (http://localhost:8100/build/vendor.js:12251:138)
at callWithDebugContext (http://localhost:8100/build/vendor.js:13543:42)
at Object.debugHandleEvent [as handleEvent] (http://localhost:8100/build/vendor.js:13131:12)
at dispatchEvent (http://localhost:8100/build/vendor.js:9151:21)
at c (http://localhost:8100/build/polyfills.js:3:13190)
at c (http://localhost:8100/build/polyfills.js:3:12876)
at http://localhost:8100/build/polyfills.js:3:13722
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:9655)
at Object.onInvokeTask (http://localhost:8100/build/vendor.js:4478:37)
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:9576)
at r.runTask (http://localhost:8100/build/polyfills.js:3:4831)
at o (http://localhost:8100/build/polyfills.js:3:1891)
at HTMLButtonElement.invoke (http://localhost:8100/build/polyfills.js:3:10673)

это импорт, который я использую.

import { Injectable } from '@angular/core';
import { File } from '@ionic-native/file';
import { FileChooser } from '@ionic-native/file-chooser/ngx'
import { FilePath } from '@ionic-native/file-path';
import firebase from 'firebase';

Есть идеи, что может быть причиной этой ошибки?Пожалуйста, дайте мне знать, если вам нужно больше деталей.

...