2017-07-29 14 views
0

私はCordovaモバイルアプリを持っており、インポート機能を実装しています。ユーザーはファイルclients.dbDocumentsフォルダに配置し、アプリケーションからインポート機能を起動する必要があります。アプリケーション自体は、このファイルを現在の場所から内部データベースストレージにコピーして、SQLiteデータベースとして開く準備ができています。ファイルをCordovaの内部ストレージにコピー

ここに私のコード:

window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "/Documents/clients.db", function(fs) { 
    window.resolveLocalFileSystemURL("file://data/data/com.app.clients/databases/",function(directoryEntry) { 
     fs.copyTo(directoryEntry, "clients.db", function() { 
      //done 
     }, function(err) { 
      //here I get err = 1 
     }); 
    }, function(){ 
     //err 
    }); 
}, function(){ 
    //err 
}); 

ファイルclients.dbDocumentsフォルダ内にあるが、私は、コードを起動したときにcopyTo機能は、ファイルが見つからないことを意味ERR = 1を返す失敗しました。

デバッグしている間、私は、変数fsが正しくに付加価値化されていることに気づいた:URLはフォルダのパスに一致してい

filesystem : FileSystem fullPath : "/Documents/clients.db" isDirectory : false isFile : true name : "clients.db" nativeURL : "file:///storage/emulated/0/Documents/clients.db" 
__proto__ : Entry 

directoryEntryはあまりにもcorrecltyを付加価値化するし、それをディレクトリ

答えて

1

として認識されていますか?それは奇妙に見えます。

+0

あなたはfile:///data/data/com.app.clients/databases/を意味しますか?なぜそれは奇妙に見えるのですか? –

+0

コードバス機能からルートパスを使用してみてください... – crak

+0

1つは原点を解決し、もう1つは目的地を解決します。私は何か間違っているのですか? –

0

hereを参照してください。 fromの場所は、1番目のresolveLocalFileSystemURLに、&の2番目の場所にある必要があります。