Categorias
iiiiii
crear archivos en dispositivo
Descripcion
Nota
Como instalar : https://ionicframework.com/docs/v5/native/file
funcionalidades : https://github.com/apache/cordova-plugin-file
1. ionic capacitor add android
2. npm run build (crea la carpeta www)
3. npm install @awesome-cordova-plugins/file
4. como es un plugin de cordova
4.1 : ionic integrations disable capacitor
4.2 : ionic integrations enable cordova
4.3 : ionic cordova plugin add cordova-plugin-file
4.4 : npx cap ls
5. ionic integrations enable capacitor
6. npx cap sync
7. implementamos el plugin app.module
import { File} from '@awesome-cordova-plugins/file/ngx';
providers: [File]
8. vamos a nuestro archivo.ts donde queremos implementarlo y lo inyectamos
import { DirectoryEntry, File, FileEntry } from '@awesome-cordova-plugins/file/ngx';
9.
typescript
//Punto 6
/**********************Iniico app module**************************/
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { File} from '@awesome-cordova-plugins/file/ngx'; //Plugin importacion
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [File,{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
bootstrap: [AppComponent],
})
export class AppModule {}
/**************************FIN APP MODULE**********************/
/*-------------------------------------------------------------------------------------------*
/**************************INICIO home.ts**********************/
import { Component, OnInit } from '@angular/core';
import { IonItem, Platform } from '@ionic/angular';
//declare let cordova:any;
//plugin usado : https://github.com/apache/cordova-plugin-file
//ionic integrations disable capacitor
import { DirectoryEntry, File, FileEntry } from '@awesome-cordova-plugins/file/ngx';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
directorio:string=this.ctrFile.externalCacheDirectory;
constructor(private ctrFile: File,
public platform: Platform
) {
}
crearFile(){
const nombreArchivo='julianArchivo.txt';
console.log("ok");
console.log('applicationDirectory='+this.ctrFile.applicationDirectory);
console.log('applicationStorageDirectory='+this.ctrFile.applicationStorageDirectory);
console.log('externalApplicationStorageDirectory='+this.ctrFile.externalApplicationStorageDirectory);
console.log('applicationStorageDirectory='+this.ctrFile.dataDirectory);
console.log('externalCacheDirectory='+this.ctrFile.externalCacheDirectory);
this.ctrFile.checkFile(this.directorio,nombreArchivo)
.then(creado=>console.log("Archivo ya existe en ="+this.directorio))
.catch(data=>{
console.log("el archivo No existe en "+this.directorio+ ' mensaje catch='+data);
//creamos archivo
this.ctrFile.createFile(this.directorio,nombreArchivo,false)
.then(FileEntry=>{
this.escrbirArchivo(this.directorio,nombreArchivo,'Escribi en el dispositivo nombre=');
console.log("nombre del archivo creado es="+FileEntry.name);
})
.catch(erro=>console.log("Error no se puedo crear el archivo = "+erro));
//Fin crear archivo.
});
}
escrbirArchivo(directorio:string,nombreArchiv:string,textoFile:string){
//julianArchivo.txt
//'documentojulian'
this.ctrFile.writeFile(
directorio, nombreArchiv, textoFile, {replace:true}
).then((nuevoarchivo:any)=>{
console.log("arhico creado");
console.log(nuevoarchivo);
}).catch((error:any)=>{
console.log("archivo erro");
console.log(error);
});
}
}
/***************************FIN home.ts************************/