Flutter webで画像をURLごと読み込もうとしたときにxのような表示になってしましました。
その解消法を記述します。
Flutter内で下記のようにURLごとimageファイルを読み込みます。
child: Image.asset('https://sample.com/images/sample.jpg'),
すると下記のようなエラーが表示されます。
Another exception was thrown: ImageCodecException: Failed to load network image.
原因はここに書いてありました。
デフォルトのレンダラー
がHTML
からcanvaskit
に切り替わったようです。
The CanvasKit renderer implements Flutter’s image API fully. However, it requires access to image pixels to do so, and is therefore subject to the CORS policy.
解決方法
mobileで見るときはそのままでいけますがwebで見るときはcanvaskit
の代わりにhtml
レンダラーを使用してくださいとのことのようです。
下記のコマンドで実行してみてください。
flutter run -d chrome --web-renderer html
これでxだった画像がうまく表示されたと思います。
Flutter Webのときは注意してください。