我正在做一个离子3应用程序,我想让用户捕获图片和视频。因此,我使用了媒体捕捉插件,一旦我捕获一个图像或视频,我就得到了MediaFile[]的承诺作为回报。现在,当我试图在带有ion-img标记的[src] = mediaFile[‘0’].fullPath中将该图像显示为预览时。它没有显示图像。
请告诉我如果我的孩子是错的,那我该怎么办?
以下是捕获部分:
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);
}
}发布于 2017-09-25 09:51:08
嘿,不知道你还有没有这个问题。
解决这个问题的方法是在控制台中打印文件路径,然后尝试删除其中的不同部分,并查看什么工作。
具体来说,有效的方法是删除"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);
}); 然后,我可以使用路径来传输/播放文件。
https://stackoverflow.com/questions/45754710
复制相似问题