Cordova file pluginを使用してモバイルデバイスに保存されたイメージを読み込もうとしていますので、リモートで保存する必要があります。問題は、File Entryオブジェクトを提供するはずのresolveLocalFilesystemUrl()メソッドがEntryオブジェクトを返すように見えることです。つまり、ファイルを呼び出すことができません。Ionic 2プロジェクトでコードバファイルプラグインを使用してファイルを読み取ることができません
ここでは、File Entryオブジェクトを取得する必要があるコードを使用して、ファイルメソッドを使用してファイル自体を読み取ることができます。
MediaCapture.captureImage().then((images)=>{
self.image = images[0].localURL;
File.resolveLocalFilesystemUrl(self.image).then((entry)=>{
entry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (encodedFile) {
var src = encodedFile.target.result;
src = src.split("base64,");
var contentAsBase64EncodedString = src[1];
};
reader.readAsDataURL(file);
})
}).catch((error)=>{
console.log(error);
})
})
私は、次の活字体エラーを取得し、resolveLocalFilesystemUrl()は、ファイルのメソッドを持っていませんEntryオブジェクト、で解決された私に語っているのです。 (プラグインのドキュメントはresolveLocalFilesystemUrlは、ファイルエントリオブジェクトに解決し、そのようなオブジェクトは間違いなくファイル自体を提供するファイルメソッドを持っていると言う):
Property 'file' does not exist on type 'Entry'.
私はresolveLocalFilesystemUrl()を提供していますパスの種類を試してきました。 cdvfile:// localhost/temporary/filenameの行に沿って、/ var/mobile/Applications/Documents/path/to /ファイルとローカルURLの行に沿って完全なパスを試してみたところ
quesitonはなぜ私にFile Entryオブジェクトを提供するのか、それをどうやって解決するのでしょうか?より一般的には、上記のアプローチがうまくいかない場合、Ionic 2のファイルをどのようにして読むことができますか?
ありがとうございました!
に呼び出されるようにするために
encodedFile: any
を使用していたノート。私は実際問題がTypescriptに関連していることを発見しました - エントリが任意の型であることを指定すると、問題は解決し、関数は正常に動作します。私は他の人の参照のための答えを追加します... –