flutter_file_pickerをwebで使うとbody直下に要素が生成される
FileUploadInputElementをそのまま使う時は、 そんなことしなくてもアップロードは成功する。
何のために必要なのだろうか?
blameするとこんなコミットを発見
https://github.com/miguelpruivo/flutter_file_picker/commit/ba19a7eccfac06e3e839f869063dbbe53cc287c9
mobileのSafari対応っぽい
https://github.com/miguelpruivo/flutter_file_picker/pull/380
To receive onChange event on the iPhone, we need to add Input element to the page body.
そうなのか。。。
それなら、タグを隠す方法はないのか?
querySelectorで無理矢理隠してみる
隠れはしたけど、結局dart:htmlを使っちゃってる
file_pickerが勝手に生成するタグを非表示にする · na8esin/flutter_file_picker_sample@172ccdc · GitHub
image_pickerの方も見てみる
簡単なサンプル作って動かして見たけど、やっぱり出たまんま
image_pickerでもやっぱりinputタグが隠されもせず表示される · na8esin/flutter_file_picker_sample@09445d8 · GitHub
最後に発見したのがfile_selector
まだwebにしか対応してないが、flutter/pluginsなのできっとやってくれるはず
こちらはちゃんとElementをremoveしている様子
サンプルで動かしてみたけど、input fileは表示されなかった。 でも時々ちらっと表示される。