【问题标题】:ionic: FileUploadOptions throw error when add to app.module.tsionic:添加到 app.module.ts 时 FileUploadOptions 抛出错误
【发布时间】:2017-09-06 06:55:55
【问题描述】:

我正在尝试在 AWS s3 上上传图像,因为我正在使用 @ionic-native/file-transfer 但是当我尝试添加 FileUploadOptions 时出现错误。 FileTransfer 和 FileTransferObject 不会发生错误。我需要 FileUploadOptions.params 用于 AWS s3。

注意:我已经查看了 node_modules/@ionic-native/file-transfer 一些 FileUploadOptions 代码被注释。这是一个问题吗?有谁知道任何其他稳定的文件传输版本。我现在脑子有问题

我已经使用这些命令安装了脚本

$ ionic cordova plugin add cordova-plugin-file-transfer
$ npm install --save @ionic-native/file-transfer

比我更新了我的 app.module.ts:

import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer';

在 app.module.ts 的提供者数组中:

providers: [
        StatusBar,
        FileUploadOptions,
        FileTransfer,
        FileTransferObject,
        File,
        Camera,
        SplashScreen,
        { 
            provide: ErrorHandler, 
            useClass: IonicErrorHandler 
        },
        {
            provide: AuthHttp,
            useFactory: getAuthHttp,
            deps: [Http]
        },        
        DataServiceProvider,
        LocationServiceProvider,
        Geolocation,
        JwtHelper,
        AuthServiceProvider 
    ]

当我在提供程序数组中添加 FileUploadOptions 时,我会收到此错误:

Typescript 错误“FileUploadOptions”仅指一种类型,但 在这里被用作一个值。 C:/xampp/htdocs/ionic/tellworld-mobile/src/app/app.module.ts 状态栏、文件上传选项、文件传输,

package.json:

"dependencies": {
        "@angular/common": "4.1.3",
        "@angular/compiler": "4.1.3",
        "@angular/compiler-cli": "4.1.3",
        "@angular/core": "4.1.3",
        "@angular/forms": "4.1.3",
        "@angular/http": "4.1.3",
        "@angular/platform-browser": "4.1.3",
        "@angular/platform-browser-dynamic": "4.1.3",
        "@ionic-native/camera": "^4.2.1",
        "@ionic-native/core": "3.12.1",
        "@ionic-native/file": "^4.2.1",
        "@ionic-native/file-transfer": "^4.2.1",
        "@ionic-native/geolocation": "^4.1.0",
        "@ionic-native/splash-screen": "3.12.1",
        "@ionic-native/status-bar": "3.12.1",
        "@ionic/storage": "^2.0.1",
        "@ngui/map": "^0.18.4",
        "@types/googlemaps": "^3.26.20",
        "angular2-jwt": "^0.2.3",
        "cordova-ios": "^4.4.0",
        "cordova-plugin-camera": "^2.4.1",
        "cordova-plugin-console": "^1.0.5",
        "cordova-plugin-device": "^1.1.4",
        "cordova-plugin-file": "^4.3.3",
        "cordova-plugin-file-transfer": "1.6.3",
        "cordova-plugin-geolocation": "^2.4.3",
        "cordova-plugin-splashscreen": "^4.0.3",
        "cordova-plugin-statusbar": "^2.2.2",
        "cordova-plugin-whitelist": "^1.3.1",
        "cordova-sqlite-storage": "^2.0.4",
        "ionic-angular": "3.6.0",
        "ionic-plugin-keyboard": "^2.2.1",
        "ionicons": "3.0.0",
        "moment": "^2.18.1",
        "ngmap": "^1.18.4",
        "rxjs": "5.4.0",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.12"
    },
"devDependencies": {
        "@ionic/app-scripts": "2.1.3",
        "ionic": "3.9.2",
        "typescript": "2.3.4"
    },

【问题讨论】:

    标签: angular cordova ionic-framework ionic2 ionic3


    【解决方案1】:

    您只需要在providers 数组中包含FileTransfer

    providers: [
        StatusBar,
        // FileUploadOptions,
        // FileTransferObject,
        FileTransfer, // <--- This one!        
        File,
        Camera,
        SplashScreen,
        { 
            provide: ErrorHandler, 
            useClass: IonicErrorHandler 
        },
        {
            provide: AuthHttp,
            useFactory: getAuthHttp,
            deps: [Http]
        },        
        DataServiceProvider,
        LocationServiceProvider,
        Geolocation,
        JwtHelper,
        AuthServiceProvider 
    ]
    

    FileUploadOptionsFileTransferObject 不是提供者,而只是与插件交互时使用的类/接口。

    【讨论】:

      猜你喜欢
      • 2019-06-19
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 2019-06-01
      • 2015-06-10
      • 1970-01-01
      相关资源
      最近更新 更多