1

CordovaのFile Pluginに奇妙な問題があります。次のコードは、Windows Phone 8.1アプリケーションとして実行すると正常に動作します。しかし、それはファイルがないことを、私は、エラーコールバック関数は、エラーコードこれは、1と呼ばれるCordovaファイルリーダーが動作しない

function (fs) { 
      fs.root.getFile("www/test.xml", null, function (fileEntry) { 
       fileEntry.file(gotFile, fail); 
      }, fail); 

のコールの後のWindows Phoneユニバーサルアプリケーション

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
     function (fs) { 
      fs.root.getFile("www/test.xml", null, function (fileEntry) { 
       fileEntry.file(gotFile, fail); 
      }, fail); 
     }, fail); 

として、それを実行すると失敗します見つかりました。誰にも問題は何だと思いますか?もしそうなら、私はどのようにそれを解決することができます。

私は間違ったファイルシステムだと思います。誰が私はどちらを使用しなければならないか知っていますか?

私はいくつかの似たような質問があることを知っていますが、Windowsの電話機8.1のみを参照し、Windowsの電話機は普遍的なものではありません。 Visual Studioでcordovaを使用しています。

答えて

0

Windows Phone 8.1アプリとしても機能しませんでした。

私は、次のコードを使用して{create:true}でそれを試してみました:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
    function (fs) { 
     fs.root.getFile("test.xml", { create: true }, function (fileEntry) { 
      fileEntry.file(gotFile, fail); 
     }, fail); 
}, fail); 

を、私は以下のようにfileEntryを得た:あなたは意味し、新しく作成されたファイルのnativeURLms-appdata:///local//test.xmlで見ることができるように enter image description here

アプリケーションディレクトリの下に作成されていませんでしたが、以下のようにC:\Users\<username>\AppData\Local\Packages\<application identity name>\LocalStateの下にあります。

enter image description here

私はドキュメントを調べましたが、アプリケーションディレクトリファイルを取得する方法が見つかりませんでした。 だから、現在この問題を回避するには、以下のようなアプリケーションディレクトリ下のファイルを取得するには、WindowsのAPIを使用することです:

if (cordova.platformId == "windows") 
{ 
    var uri = new Windows.Foundation.Uri("ms-appx:///www/test.xml"); 
    Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri).then(function (fs) { 
       var abc = fs;//get the file here 
      },fail); 
} 
+0

は、このソリューションが正常に動作します、ありがとうございます。 – BenHeid

関連する問題