plugin - ionic native file opener
Ejemplos de uso de Ionic 2 File Plugin (2)
¿Alguien tiene ejemplos completos sobre cómo usar el complemento de archivo nativo de Cordova en un proyecto de Ionic 2 / Angular 2?
Instalé este complemento, pero la documentación no parece tener mucho sentido para mí porque está fragmentada y carece de un ejemplo completo, incluidas todas las importaciones necesarias.
Por ejemplo, el siguiente ejemplo no muestra de dónde provienen los objetos como LocalFileSystem o window.
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {
console.log(''file system open: '' + fs.name);
fs.root.getFile("newPersistentFile.txt", { create: true, exclusive: false }, function (fileEntry) {
console.log("fileEntry is file?" + fileEntry.isFile.toString());
// fileEntry.name == ''someFile.txt''
// fileEntry.fullPath == ''/someFile.txt''
writeFile(fileEntry, null);
}, onErrorCreateFile);
}, onErrorLoadFs);
Por ejemplo, necesito crear un archivo de propiedades. Primero necesito verificar si existe un archivo en el área de almacenamiento de la zona de pruebas, si no existe, debo crearlo. Luego debo abrir el archivo escribir datos y guardarlo. ¿Cómo podría hacer eso?
Aquí hay un ejemplo que utiliza IonicNative para una aplicación en la que estoy trabajando, a la que quiero enviar un correo electrónico con un archivo adjunto csv.
import {EmailComposer} from ''@ionic-native/email-composer'';
import {File} from ''@ionic-native/file'';
class MyComponent {
constructor(private emailComposer: EmailComposer, private file: File) {
}
testEmail() {
this.file.writeFile(this.file.dataDirectory, ''test.csv'', ''hello,world,'', {replace: true})
.then(() => {
let email = {
to: ''email@email'',
attachments: [
this.file.dataDirectory + ''test.csv''
],
subject: ''subject'',
body: ''body text...'',
isHtml: true
};
this.emailComposer.open(email);
})
.catch((err) => {
console.error(err);
});
}
}
Esto fue probado con iónico 3.7.0 en IOS.
Ionic 2 viene con un contenedor de archivo de Cordova: http://ionicframework.com/docs/v2/native/file/ .
Las rutas necesarias del sistema de archivos (por ejemplo, cordova.file.applicationDirectory
) se pueden encontrar aquí en la documentación del complemento original: https://github.com/apache/cordova-plugin-file#where-to-store-files . Tenga en cuenta que no todas las plataformas admiten las mismas rutas de almacenamiento.
Incluso me las arreglé para construir un navegador de archivos con él. Úsalo así:
import {Component} from ''@angular/core'';
import {File} from ''ionic-native'';
...
File.listDir(cordova.file.applicationDirectory, ''mySubFolder/mySubSubFolder'').then(
(files) => {
// do something
}
).catch(
(err) => {
// do something
}
);