【ReactNative開発】外部URL上の画像をクラウドストレージ(Azure Blob Storage) にアップロードする

こんばんは。今週も引き続きReactNativeにおける画像のハンドリングと戦っております。あーつまりすぎて苦しい笑

しかし進んでいくしかないのであります・・・参ります。

やりたいこと

外部URL上の画像をクラウドストレージにアップロードしたい!

例えば、Facebookログインを利用した場合、規定のユーザのプロフィール画像はFacebookのGraph API経由で取得できるかと思います。

これを、自サービスのストレージサービスで持つ方法を模索しておりました。

実現方法

こちらのDiscussionがまさに自分の思考過程をたどってくれていました。

URL自体を格納する方法もありますが、それだとうまくいかない場合は外部URLからデバイス上に一度画像をダウンロードして、それを改めてアップロードしないといけないようです。

ちなみに、Azure Blob Storageで外部URLからBlobを取得していくれる便利な機能ないかなぁと思って調べてみたら、これも既に議論がありました。

https://stackoverflow.com/questions/44409167/azure-blob-storage-upload-image-from-external-url-without-downloading-image-fi

できないみたいでござる。

というわけで、後者のアプローチをとる場合には、ローカルデバイス上にダウンロードする必要がありそうです。

React Native + Expoで開発している場合には、expo-file-systemなるライブライを使うことで実現できそうです。

https://stackoverflow.com/questions/68512225/unable-to-download-image-to-local-directory-from-url-in-expo-react-native

今回このアプローチの実装までは試していないですが、上記、同じようにアプローチを検討されている方の参考になりましたら幸いです。本記事が少しでもお役に立ちましたら、いいねボタンをぽちっていただけると励みになります。

おしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。