【发布时间】:2017-11-13 04:59:30
【问题描述】:
我正在开发 Ionic 3,我是 ionic 的新手,所以尝试从我使用的设备上传文档,并获得 android 存储访问权限,但我只能访问设备的内部存储,我想从 sd 卡访问文件。 下面是我的代码
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { RemoteServiceProvider} from "../../providers/remote-service/remote-service";
import { AndroidPermissions } from '@ionic-native/android-permissions';
@IonicPage()
@Component({
selector: 'page-home',
templateUrl: 'home.html',
})
export class HomePage {
android: AndroidPermissions;
constructor(public remoteServiceProvider: RemoteServiceProvider, public
navParams: NavParams, public nvCtr: NavController) {
//this.getStates();
this.android= new AndroidPermissions();
this.android.requestPermissions([this.android.PERMISSION.READ_EXTERNAL_STORAGE,this.android.PERMISSION.WRITE_EXTERNAL_STORAGE])
}
getStates(){
this.remoteServiceProvider.getResult().subscribe(data => {
alert(data._body);
},error => {
alert(error);
});
}
ionViewDidLoad() {
console.log('ionViewDidLoad HomePage');
}
}
上面的代码是我授予用户权限的地方,下面是我访问文件的地方:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { FileChooser } from '@ionic-native/file-chooser';
import { FilePath } from '@ionic-native/file-path';
import { File } from '@ionic-native/file';
import {Platform} from "ionic-angular";
@IonicPage()
@Component({
selector: 'page-document',
templateUrl: 'document.html',
})
export class DocumentPage {
fileChooser: FileChooser;
filePath: FilePath;
nativepath: any;
file: File;
constructor(public navCtrl: NavController, public navParams: NavParams) {
this.fileChooser= new FileChooser();
this.filePath= new FilePath();
this.file=new File();
}
ionViewDidLoad() {
console.log('ionViewDidLoad DocumentPage');
}
openFile(){
this.fileChooser.open()
.then(uri => this.convertFilePath(uri))
.catch(e => alert(e));
}
convertFilePath(filePathUri: string){
this.filePath.resolveNativePath(filePathUri)
.then(filePath =>{
this.nativepath= filePath;
//Here in nativepath we get filepath
})
.catch(err => alert("filePath "+err));
}
}
上面的代码是我授予用户权限的地方,下面是我访问文件的地方:
openFile(){
this.fileChooser.open()
.then(uri => this.convertFilePath(uri))
.catch(e => alert(e));
}
convertFilePath(filePathUri: string){
this.filePath.resolveNativePath(filePathUri)
.then(filePath =>{
this.nativepath= filePath;
//Here in navtivepath i get the file path
})
.catch(err => alert("filePath "+err));
}
【问题讨论】:
-
您有任何控制台错误吗?
-
没有没有任何错误..
标签: android angular typescript cordova-plugins ionic3