2017-08-08 15 views
1

申し訳ありませんが、ここに行きます。私はイオンプロジェクトを扱っています。この特定のシナリオでは、Androidバージョンのアプリをテストすることに取り組んでいます。私は、ファイルをBLOBとラインをそれを渡すことになっているプロセッサイオン3ファイル許可

content://com.android.providers.media.documents/document/image%3A5744 

、彼らが戻って次のようになり、文字列のURLの形で来る、ファイルシステムからの画像がうまく得ることができます

return this.file.readAsArrayBuffer(urlData.url, urlData.fileName) 
    .then((item) => { 
     return new Blob([new Uint8Array(item)]); 
    }) 
    .catch((err) => { 
    console.log(err.message) 
    }).then((res)=>{ 
    return new Blob([res]) 
    }) 

をしかし、私は本当にについて話しませんthe documentationエラーSECURITY_ERRを取得:次のようになります。

これは、問題は私の知る限りが見つけることができるよう、である。この

file:///storage/emulated/0/Android/data/<appname>/cache/1502211622334.jpg 

のように見えるすべてのURLを持って、私はカメラで撮影した写真、のためだけで正常に動作は、原因となるものに何のドキュメントはありませんこのエラー。私は自分のコードを動作させるために何を変えるべきか分かりません。私は、URIが有効であることを、checkFileメソッドを使って確認しました。

答えて

0

コンテンツURLをfile.readAsArrayBufferで使用することはできません。代わりに、まずreadAsArrayBufferが理解できるものにURLを解決する必要があります。これを行うために、私はionic native filePath pluginを使用しました。

これは約束を返しているので、私はそれの前に付け、その後の文に、私のreadAsArrayBufferを連鎖し、私は私のURLに

filePath.resolveNativePath(url) 

方法を使用し、インストールし、私はそれを必要なページに含まれた後は。コンテンツURL(どのresolveNativePathが必要)と既に動作していた非コンテンツURLの分岐パスを持つには、ifステートメントを使用する必要がありました。

この解決策は、私が知る限りでは機能します。

関連する問題