ค้นหาเว็บไซต์

angular - ข้อผิดพลาด Error: ถูกจับไม่ได้ (ในคำสัญญา): NullInjectorError: R3InjectorError(NewFlavorPageModule)


ฉันได้รับข้อผิดพลาดนี้เมื่อฉันไปที่หน้านี้โดยใช้ routerLink

ข้อผิดพลาด Error: Uncaught (in promise): NullInjectorError: R3InjectorError(NewFlavorPageModule)[[object Object] -> [object Object] -> [object Object] -> [object Object]]: NullInjectorError: ไม่มีผู้ให้บริการสำหรับ [object Object]! NullInjectorError: R3InjectorError(NewFlavorPageModule)[[object Object] -> [object Object] -> [object Object] -> [object Object]]: NullInjectorError: ไม่มีผู้ให้บริการสำหรับ [object Object]! ที่ NullInjector.get (core.mjs:6344:27) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ R3Injector.get (core.mjs:6771:33) ที่ ChainedInjector. get (core.mjs:13756:36) ที่ lookupTokenUsingModuleInjector (core.mjs:3286:39) ที่ getOrCreateInjectable (core.mjs:3331:12) ที่ ɵɵdirectiveInject (core.mjs:10858:12) ที่ NodeInjectorFactory.NewFlavorPage_Factory [ในฐานะ factory] (ɵfac.js? [sm]:1:1) ที่ resolvePromise (zone.js:1262:35) ที่ resolvePromise (zone.js:1216:21) ที่ zone.js:1329:21 ที่ _ZoneDelegate.invokeTask (zone.js:443:35) ที่ Object.onInvokeTask (core.mjs:26194:33) ที่ _ZoneDelegate.invokeTask (zone.js:442:64) ที่ Zone.runTask (zone.js:214:51) ที่ drainMicroTaskQueue (zone.js:632:39) ที่ ZoneTask.invokeTask [ในฐานะ invoke] (zone.js:529:25) ที่ invokeTask (zone.js:1727:22)

นี่คือโค้ดของฉัน :

import { Component, OnInit } from '@angular/core';
import { FileChooser } from '@ionic-native/file-chooser';
import { File } from '@ionic-native/file';
import firebase from 'firebase/compat/app'

@Component({
  selector: 'app-new-flavor',
  templateUrl: './new-flavor.page.html',
  styleUrls: ['./new-flavor.page.scss'],
})
export class NewFlavorPage implements OnInit {

  constructor(public fileChooser: FileChooser, public file: File, ) { }

  ngOnInit() {
  }

  chooseFile() {
    this.fileChooser.open().then((uri) => {
      alert(uri);

      this.file.resolveLocalFilesystemUrl(uri).then(newUrl => {
        alert(JSON.stringify(newUrl))

        let dirPath = newUrl.nativeURL
        let dirPathSegments = dirPath.split('/')
        dirPathSegments.pop()
        dirPath = dirPathSegments.join('/')

        this.file.readAsArrayBuffer(dirPath, newUrl.name).then((buffer) => {
          this.upload(buffer, newUrl.name);
        })
      })
    
    })
  }

  upload(buffer, name) {
    let blob = new Blob([buffer], { type: "image/jpeg" });
    let storage = firebase.storage();

    storage.ref('wing flavors/' + name).put(blob).then(d => {
      alert("Done")
      console.log(d)
    }).catch((error) => alert(JSON.stringify(error)))
  }
}