Skip to content

Flutterでファイルアップロード

   

画像を選択してアップロードする機能を付けたい。

アップロード先はFirebase Storageで。

Flutter×Firebase(CloudStorage)でファイルダウンロードとアップロードを簡単に実現する方法 - Qiita

を見て実装してみたところ、Unsupported operation: Platform._operatingSystemなエラーが。

Webだと対応していない書き方なのかな・・環境ごとに分けるの面倒だな・・

google cloud functions - Flutter web - Upload Image File to Firebase Storage - Stack Overflow

を見て再チャレンジして、何とかアップロードできた。

dart:ioではなくdart:htmlを使い、putFileを使わずにputDataを使うように変えた。

あとFirebase Storageのデフォルト設定が書き込み禁止なので、allow read, write: if request.auth != null;として書き込めるように変更した。

何日もハマらずに済んでよかった。