画像を選択してアップロードする機能を付けたい。
アップロード先は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;
として書き込めるように変更した。
何日もハマらずに済んでよかった。