cameraRoll
から画像をアップロードしようとしています。実際のファイルパスではなくcontent:// URIを返すのはcameraRoll
コンポーネントです。画像をアップロードするにはファイルパスが必要ですが、コンテンツを変換する方法はありますか?// URIをファイルURIに変換しますか?ありがとうコンテンツ:// URIをリアクションネイティブを使用してAndroidの実際のパスに変換します
答えて
私は@Madhukar Hebbarから提出された機能を取って反応ネイティブノードモジュールにそれを作りました。
あなたはここでそれを見つけることができます:react-native-get-real-path
をこのようにあなたが望むものを達成するために、あなたが選択をアップロードしたいときは、このような何かを行うことができreact-native-fs
と併せて上記のモジュールを使用することができますカメラロールの画像:
RNGRP.getRealPathFromURI(this.state.selectedImageUri).then(path =>
RNFS.readFile(path, 'base64').then(imageBase64 =>
this.props.actions.sendImageAsBase64(imageBase64)
)
)
あなたは救世主です!ただ1つの懸念 - アンドロイドのためだけに働くので - 必要なパッケージラインをプラットフォームチェックロジックの中に入れる必要があります。しかし、それが提供しているユーティリティと比較して - 私はこれを無視することができます。 :-) –
私はあなたのライブラリを使用しましたが、動作しませんでした。 '未定義は関数ではない(reactNativeGetRealPath2.default.getRealPathFromUri(path))'というエラーが出て、私が与えるパスは 'content://com.google.android.apps.photos.contentprovider/-1/1 /コンテンツ%3A%2F%2Fメディア%2Fexternal%2Fimages%2Fメディア%2F890/ORIGINAL/NONE/225703422' –
ファイルパスを文字列として取得するためにcontent:// URI
を渡してから、ファイルオブジェクトを使用して操作を行います。
File file = new File(getURIPath(uriValue));
/**
* URI Value
* @return File Path.
*/
String getURIPath(Uri uriValue)
{
String[] mediaStoreProjection = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uriValue, mediaStoreProjection, null, null, null);
if (cursor != null){
int colIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String colIndexString=cursor.getString(colIndex);
cursor.close();
return colIndexString;
}
return null;
}
- 1. AndroidのコンテンツURIとしてhttp/https URIを使用する
- 2. uriファイルから実際のパスを取得してアップロードするandroid
- 3. jqueryを使用して、base64イメージのパスを実際のパスに変換する方法。
- 4. パスをURIに変換するネイティブで
- 5. URIをパスに変換する
- 6. ファイル:// uriをコンテンツに変換する方法:// uri?
- 7. sdcardのファイルのURIから実際のパスを取得
- 8. JavaScriptを使用してGIF画像をBase64データURIに変換する際のパフォーマンスの問題
- 9. ユニコードを実際のキャラクタCに変換しています。
- 10. 環境変数を使用してWindowsパスをパスに変換する
- 11. Uriを使用した相対パス
- 12. content:// uriをファイルパスに変換します
- 13. Javaを使用してpdfのHTMLコンテンツとCSSコンテンツを変換するには?
- 14. 実際のパスからUriを取得する
- 15. Android:ファイルをURIに変換する
- 16. Xamarinはイメージuriアドレスを実イメージに変換します
- 17. ギャラリーから画像を選択してアンドロイドURIから実際のパスを取得します
- 18. リアクションネイティブ:フラットリストスクロール位置は実際の位置にスクロールしません
- 19. DOSパスをバッチファイルのファイルスキームURIに変換する方法
- 20. HTMLフォーム入力を使用してURIパスを定義する
- 21. androidのuriパスの問題
- 22. Bash - 実際のパスを使用して複数のファイルをFTPにアップロードしていますか?
- 23. Androidスタジオ+リアクションネイティブ - 最初のアプリを実行しようとしています
- 24. ManifestPlaceholderはNumericStringを実際の数値に変換しますか?
- 25. cordova-plugin-cameraを使用してURI画像をbase64形式に変換する
- 26. AndroidアプリケーションをAndroidライブラリに変換する際にエラーが発生しました
- 27. tinyMCEエディタで画像ソースのパスが実際のパスではなくブロップに変換されています
- 28. C#+ UWP:Windowsパスをms-appdataに変換するuri
- 29. AndroidコンテンツURIからファイルオブジェクトを作成します
- 30. リアクションネイティブScrollView - 実行時にpagingEnabledを変更しますか?
なぜパスが必要ですか?あなたは 'InputStream'を使用できませんか? – pskink
私はReact-Nativeアプリケーションを開発しています.Javaメソッドを使用するのはちょっと面倒ですので、私は反応するネイティブソリューションを探しています。ありがとうございます – cubbuk