#javascript #ios #cordova #mobile
#язык JavaScript #iOS #кордова #Мобильный
Вопрос:
Я пытаюсь использовать cordova-plugin-file
для сохранения файла, созданного в приложении, в хранилище телефона и, если возможно, в папке «Документы» или «Файлы». Файл сохраняется, я вижу его путь, но не могу получить доступ к его местоположению, когда я на iOS, потому что он находится за пределами Files
каталога. Это мой код, и он работает для Android.
Я также добавил внутри config.xml следующее:
lt;preference name="iosPersistentFileLocation" value="Compatibility" /gt;
………
const mimeType = 'application/json'; const filename = 'test.json'; const data = await this.http.get(`${environment.backUrl}/get-data`).toPromise(); const jsonString = JSON.stringify(data, null, 't'); const blob = new Blob([jsonString], { type: mimeType }); if (window.cordova amp;amp; window.cordova?.platformId !== 'browser') { document.addEventListener('deviceready', () =gt; { let storageLocation = ''; if (window.cordova?.platformId === 'android') { storageLocation = window.cordova.file.externalRootDirectory 'Documents/'; } if (window.cordova?.platformId === 'ios') { storageLocation = window.cordova.file.documentsDirectory; } (window as any).resolveLocalFileSystemURL( storageLocation, (dir) =gt; { dir.getFile( filename, {create: true}, (file) =gt; { file.createWriter( (fileWriter) =gt; { fileWriter.write(blob); fileWriter.onwriteend = () =gt; { let url = file.toURL(); alert('File Saved inside: ' url); }; fileWriter.onerror = (err) =gt; { alert('File not saved'); console.error(err); }; } ); } ); } ); }); }