Ionic2 无法查看cordovaplugin捕获的图像
我按照此链接拍照并将其存储到内存中的目标文件夹中,我测试了它是否正常工作,接下来我尝试列出该文件夹中的所有文件,但我无法查看它Ionic2 无法查看cordovaplugin捕获的图像,ionic2,cordova-plugins,Ionic2,Cordova Plugins,我按照此链接拍照并将其存储到内存中的目标文件夹中,我测试了它是否正常工作,接下来我尝试列出该文件夹中的所有文件,但我无法查看它 <ion-list> <ion-item><img [src]="file" *ngFor="let file in myFiles"></ion-item> </ion-list> import { Component } from '@angular/core'; import
<ion-list>
<ion-item><img [src]="file" *ngFor="let file in myFiles"></ion-item>
</ion-list>
import { Component } from '@angular/core';
import { NavController, AlertController, ActionSheetController, ToastController, Platform, LoadingController, Loading } from 'ionic-angular';
import { Camera } from 'ionic-native';
import { File } from 'ionic-native';
import { FilePath } from 'ionic-native';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
file;
public base64Image: string;
myFiles: string[];
constructor(public navCtrl: NavController,
public alertCtrl: AlertController){}
listImage(){
console.log("list image files");
var fileSystem = cordova.file.externalRootDirectory;
var folderpath = fileSystem + "Vanan Audio/";
console.log("img",folderpath);
File.listDir(cordova.file.externalRootDirectory, 'vanan Audio').then(
(allFiles) => {
// do something
console.log(allFiles);
var i =0
console.log(allFiles[i+1].name);
for (i = 0; i < allFiles.length; i++) {
console.log(allFiles[i].name);
console.log(allFiles[i].nativeURL);
}
this.myFiles = allFiles;
return allFiles
}
).catch(
(err) => {
// do something
}
);
}
}
从'@angular/core'导入{Component};
从“ionic angular”导入{NavController、AlertController、ActionSheetController、ToastController、Platform、LoadingController、Loading};
从“离子本机”导入{Camera};
从“离子本机”导入{File};
从“离子本机”导入{FilePath};
@组成部分({
选择器:“主页”,
templateUrl:'home.html'
})
导出类主页{
文件
public base64Image:字符串;
myFiles:string[];
构造函数(公共navCtrl:NavController,
公共警报Ctrl:AlertController){}
listImage(){
log(“列出图像文件”);
var fileSystem=cordova.file.externalRootDirectory;
var folderpath=fileSystem+“Vanan Audio/”;
log(“img”,folderpath);
listDir(cordova.File.externalRootDirectory,'vanan Audio')。然后(
(所有文件)=>{
//做点什么
console.log(所有文件);
变量i=0
log(所有文件[i+1].name);
对于(i=0;i{
//做点什么
}
);
}
}
现在我可以使用外部根目录拍摄照片并将其存储到文件夹中,我可以使用循环列出文件名,我需要将文件夹中的所有图像显示到我的ionic视图中
在设备上运行getting错误语句时,我收到了一条错误语句
deviceready has not fired after 5 seconds. cordova.js:1223
Unhandled Promise rejection: Template parse errors:
Can't bind to 'ngForIn' since it isn't a known property of 'div'. ("
<div [ERROR ->]*ngFor="let file in myFiles">
<img [src]="file.nativeURL"/>
"): HomePage@28:9.............................
DeviceRady在5秒后未启动。cordova.js:1223
未处理的承诺拒绝:模板分析错误:
无法绑定到“ngForIn”,因为它不是“div”的已知属性。("
]*ngFor=“让文件进入myFiles”>
"): HomePage@28:9.............................
在组件中有一组文件路径:
myFiles:any[];//assign empty array in constructor
this.myFiles = allFiles;
然后在File.listDir中
(假设listImage()
位于组件中):
在html中
<div *ngFor="let file of myFiles">
<img [src]="file.nativeURL"/>
</div>
你不能只设置一个组件变量并在html中使用它吗?你能告诉我怎么做吗?函数是在提供程序中还是在组件中?否则你就得把承诺连成链检查我更新的问题@suraj。我没有添加任何提供商或服务,只是添加了插件和我的.ts文件,我想我没有正确地完成。当我的设备加载时,我会出错。我使用inspect元素检查,在我的手机中,我只看到一个白色屏幕。问题解决了吗?如果是的话,最好把问题结束并做标记。。