Ionic native stellt das Dateiauswahl- und Datei-Plugin separat zur Verfügung. Das Datei-Plugin benötigt den absoluten Pfad der zu lesenden Datei, bietet aber keine Möglichkeit die Datei auszuwählen.Ionic2: Übersetzen der Datei-Auswahl-URI in den Dateipfad
Um die Datei auszuwählen, habe ich Dateiauswahl verwendet, die einen URI zurückgibt.
import { FileChooser } from '@ionic-native/file-chooser';
constructor(private fileChooser: FileChooser) { }
...
this.fileChooser.open()
.then(uri => console.log(uri))
.catch(e => console.log(e));
Die uri sieht so etwas wie diese
content://com.android.providers.media.documents/document/image%3A68
Die Datei Plugin eine Datei durch die Nutzung des Pfades lesen kann.
import { File } from '@ionic-native/file';
constructor(private file: File) { }
...
this.file.readAsText(this.file.dataDirectory, 'myFile')
.then((content) =>
console.log(this.file.dataDirectory + 'myFile');
console.log(content)
).catch(err =>
console.log('File doesnt exist')
);
Der Pfad sieht so aus.
file:///data/data/com.myapp.myappmobile/files/myFile
Wie verwende ich beide Komponenten. Wählen Sie eine Datei mit FileChooser und dann lesen Sie es in Ionic 2.
Es funktionierte. Ich frage mich allerdings! Warum gibt der Dateiwähler eine URL zurück? Wo genau werden Uri benutzt? –
FilePath wird nur unter Android unterstützt. Wie lösen Sie den Dateipfad auf IOS auf? – noor