Flutter web can’t load network image from another domain エラーで画像が取得できない場合の対処
Flutter で以下のようにして画像を取得しようとした際に別ドメインのためにエラーが発生したので対処しました。
失敗コード
Image.network
を使用するとエラーが発生します。
1
2
3
4
5
6
7
8
| class MyImage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String imageUrl = "image_url";
return Image.network(imageUrl),
}
}
|
対応方法
画像を取得してHTMLを生成するようにして対処を行います。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| import 'dart:html';
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
class MyImage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String imageUrl = "image_url";
ui.platformViewRegistry.registerViewFactory(
imageUrl,
(int _) => ImageElement()..src = imageUrl,
);
return HtmlElementView(
viewType: imageUrl,
);
}
}
|
参考