Ho un'app Cordova/PhoneGap che utilizza la fotocamera per acquisire un'immagine. Ho bisogno di accedere a questa immagine per inviare al mio server.Come accedere all'immagine dall'URI nativo (risorsa-libreria) in Cordova per iOS
Per Android semplicemente uso $cordovaFile.readAsDataURL(cordova.file.dataDirectory, fileName)
Tuttavia; su iOS il nome del file non ritorna come tale. Il mio valore di ritorno per iOS mostra il percorso come
asset-biblioteca:? //asset/asset.JPG id = 539425FE-43AA-48E7-9865-D76348208AC7 & ext = JPG
Come può Accedo e leggo questa immagine? Preferirei restare con $ cordovaFile ma voglio solo farlo funzionare.
Sto usando plug CordovaCameraPreview e il meglio che posso tornare dal gestore di foto beneficiario sembra essere qualcosa di formato simile a:
asset-biblioteca:? //asset/asset.JPG id = 990355E1 -200A-4E35-AAA1-7D461E3999C8 & ext = JPG asset-biblioteca:? //asset/asset.JPG id = C49FF0EB-CCCB-45B2-8577-B13868D8DB29 & ext = JPG
Come posso convertire questo a un nome di file e un percorso che posso leggere con $ cordovaFile? Secondo la loro documentazione (http://ngcordova.com/docs/plugins/file/) sembra che ho bisogno di utilizzare uno dei loro percorsi per File System Layout. Funziona bene su Android utilizzando cordova.file.dataDirectory ma non riesco a capire come accedere su iOS
Ho anche provato a usare window.resolveLocalFileSystemURL(path)
ma sto diventando indefinito come risultato.
Aggiornamento
Mi sento come se sto avvicinando ... usando window.resolveLocalFileSystemURL(path,resolveOnSuccess, resOnError);
ottengo ulteriori informazioni
name: "assets-library"
fullPath: "/asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
name: "asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
nativeURL: "assets-library://asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
Sembra che io ora bisogno di usare il fullPath, ma ancora non posso capire come accedere con $ cordovaFile
Se provo ad usare $cordovaFile.readAsDataURL(cordova.file.dataDirectory, data.name)
dove data.name è asset.JPG? id = 711B4C9D-97D6-455A-BC43-C73059A5C3E8 & ext = JPG ottengo un file non trovato errore
Update 2
Ho provato con ogni singolo file di layout di sistema disponibile presso http://ngcordova.com/docs/plugins/file/ e ricevere lo stesso file non trovato errore su ciascuno di essi. Ancora nessun indizio su come accedere a un file in risorse-libreria usando $ cordovaFile
Caro Danjarvis, ero anche affrontando lo stesso problema con il plugin camerapreview. Puoi dirmi se sei in grado di caricare il file utilizzando il file di output dal metodo sopra o no? L'url di output è simile a questo, cdvfile: //localhost/assets-library/asset/asset.JPG? Id = F0D3E4F4-366C-4C27-A158-937CA7805C87 & ext = JPG –
Se stai solo provando a convertire la libreria di risorse: // URL per un percorso CDVFile, è possibile richiamare quanto segue sull'oggetto fileEntry restituito da resolveLocalFileSystemURL: 'fileEntry.toInternalURL()' – jcaruso