Guardar documento cordova android android ios ionic angular
Estoy intentando usar el plugin cordova-plugin-file para guardar documentos en una carpeta local en el dispositivo. Estoy haciendo lo siguiente:
await this.file.checkDir(folderPath, directory).then(async res => {
console.log("checkDir", res);
await this.file.writeFile(folderPath + directory, fileName, document, options).then(res => {
console.log("fileName", fileName);
console.log("document", document);
response = {
...response,
success: true,
error: res,
data: res
};
resolve(response);
})
.catch(error => reject(error));
}).catch(async () => {
await this.file.createDir(folderPath, directory, true).then(async directory => {
await this.file.writeFile(folderPath + directory.name, fileName, document, options).then(res => {
console.log("fileName", fileName);
console.log("document", document);
response = {
...response,
success: true,
error: res,
data: res
};
resolve(response);
}).catch(error => reject(error));
})
.catch(error => reject(error));
});
});
Siempre obtengo el siguiente error:
FileError: {"code":9,"message":"INVALID_MODIFICATION_ERR"}
Ya intenté agregar esta configuración a config.xml pero no funcionó.
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:requestlegacyexternalstorage="true" android:usescleartexttraffic="true"></application>
</edit-config>
davy.ai
El error
FileError: {"code":9,"message":"INVALID_MODIFICATION_ERR"}
generalmente es causado por permisos de archivo incorrectos o al intentar modificar un archivo que está actualmente abierto o en uso. Aquí hay algunas posibles soluciones que puedes probar:checkDir()
para verificar si el directorio existe y crearlo si no existe. Puedes modificar el fragmento de código de la siguiente manera:AndroidManifest.xml
de la siguiente manera:requestFileSystem()
: Puedes usar el métodorequestFileSystem()
para solicitar acceso temporal o persistente a un sistema de archivos. Este método devuelve un objetoFileSystem
que puedes usar para escribir archivos en el almacenamiento local. Puedes modificar el fragmento de código de la siguiente manera:Nota: Es posible que debas modificar el código para que se adapte a tu caso de uso específico.