angular - 媒体捕获原生插件 Ionic 3

标签 angular typescript ionic-framework ionic3 ionic-native

我正在制作一个 ionic 3 应用程序,我想让用户在其中捕获图片和视频。所以我使用了媒体捕获插件,一旦我捕获了图像或视频,我就会得到 MediaFile[] promise 作为返回。现在,当我尝试使用 [src] = mediaFile['0'].fullPathion-img 标签中显示该图像作为预览时。它不显示图像。

请告诉我,如果我的方法有误,我该怎么办。

这是捕获部分:

this.mediaCapture.captureImage()
  .then(

    (data: MediaFile[]) => {
         this.navCtrl.push('NewPostPage', {
         mediaFile : data
         })
    },
    (err: CaptureError) => console.error(err)
  );

这里是newpostpage的html:

<ion-content padding>

  <ion-img [src] = 'image'></ion-img>

</ion-content>

这里是newpostpage的.ts文件:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { MediaFile } from '@ionic-native/media-capture';

/**
 * Generated class for the NewPostPage page.
 *
 * See http://ionicframework.com/docs/components/#navigation for more info
 * on Ionic pages and navigation.
 */
@IonicPage()
@Component({
  selector: 'page-new-post',
  templateUrl: 'new-post.html',
})
export class NewPostPage {

  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }

  mediaFile: MediaFile[] = this.navParams.get('mediaFile');
  image: string = this.mediaFile['0'].fullPath;


  ionViewDidLoad() {
    console.log('ionViewDidLoad NewPostPage');
    console.log(this.image);    
  }

}

最佳答案

嘿,不知道你是否还有这个问题。

我解决这个问题的方法是在控制台中打印文件路径,然后我尝试删除它的不同部分,看看有什么用。

特别有效的是删除 "file:" 前缀,如下所示:

self.media.captureVideo().then((data: MediaFile[]) => {
                let file = data.pop();
                let path = file.fullPath.replace('file:', '');
                resolve(path);
            }, err => {
                console.dir(err);
                reject(err);
            }); 

然后我可以使用路径来传输/播放文件。

关于angular - 媒体捕获原生插件 Ionic 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45754710/

相关文章:

typescript - 以下是什么意思作为类型 : () => void = null

javascript - ion-col col-3 抛出模板解析错误

javascript - 自定义 AngularJS 指令未注册

javascript - 我可以在 Node.js/Express 中动态导入 TypeScript 模块吗?

html - ionic 元素的 Z 索引

unit-testing - 用于测试的模拟 ionic-native

javascript - 管道 'z,x,y' 的 Angular 无效参数 'AsyncPipe'

javascript - Angular Universal 在 POST 请求中使用我服务器的 IP 地址

Angular 2 异常 : TypeError: Cannot read property 'annotations' of undefined

Angular5 react 形式 : Form array inside another form array