2017-01-04 2 views
2

Ionic Nativeで、iPhoneのローカルストレージに保存された画像のデータURLを取得しようとしていますが、シミュレータではなく実際のデバイスで実行されています。IonicネイティブFile.readAsDataURLエラーコード:1メッセージ:NOT_FOUND_ERR

私は自分の携帯電話のローカルストレージに見えるようにX-コードを使用して、私はこの場所で画像を見ることができるFile.readAsDataURL

を使用しています。

の/ var /モバイル/コンテナ/データ/アプリケーション/ *私のAPPのID * /ドキュメント/ WWW /資産/画像/ image.png

ここでは私のコードです:

import { Component } from '@angular/core'; 
import { Platform } from 'ionic-angular'; 
import { File } from 'ionic-native'; 

declare var cordova: any; 

@Component({ 
    selector: 'get-picture', 
    templateUrl: 'get-picutre.html' 
}) 

export class GetPictureComponent { 
    fs:string = cordova.file.documentsDirectory; 

    constructor(
     public platform: Platform 
    ) {} 

    ionViewDidEnter() { 
     this.platform.ready().then(() => { 
      console.log("FileSystem", this.fs); //logs FileSystem file:///var/mobile/Containers/Data/Application/* My APP ID */Documents/ 

      File.readAsDataURL(this.fs, 'www/assets/images/image.png') 
       .then((imgData) => console.log('Image Data', imgData)) 
       .catch((error) => console.log('error', error)); //Logs error {"code":1,"message":"NOT_FOUND_ERR"} 

      }); 
    } 

} 

私は

window.resolveLocalFileSystemURL(file:///var/mobile/Containers/Data/Application/* My APP ID */Documents/www/assets/images/image.png 

と基本的に同じことを試してみましたが、私は再びエラーコード1を取得します。

私は、これらの好みに私のconfig.xmlファイルの更新:これが機能していないだろう、なぜ誰もが知ってい

<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" /> 
    <preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,root" /> 

を?

イオン性バージョン - 2.1.112

ありがとうございます!

答えて

2

私はもう少しこの問題を掘り下げました。

最初にFile.listDir()をルートドキュメントディレクトリ(cordova.file.documentsDirectory)に作成しました。私は、ファイルシステムが見ることができるドキュメントディレクトリ内の唯一のフォルダが"NoCloud"であることを発見しました。

Wikitudeがこのディレクトリの"/www/assets/images/"というフォルダ内のフォルダに画像を正常に置いても、ファイルシステムはそのファイルシステムを閲覧、書き込み、または読み取ることができません。

"NoCloud"フォルダに画像を保存するように設定しました。File.readAsDataUrl()を使用して、 "NoCloud"フォルダからbase64画像データを正しく取得できます。

これは誰かを助けることを望みます。

関連する問題