画像のダウンロード表示で発生したエラーについて調査しました。
Connection closed before full header was received
遭遇した具体的場面
cached_network_imageを使用してURLを元に画像を表示する時に、正常に画像が表示されないことがありました。
これはcached_network_image
のサンプルコードです。URLを元に画像をダウンロードしてキャッシュしています。
同じURLでも発生する時と発生しない時があり、発生頻度は30回に1回くらいでした。
sampleCode.dart
CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x150",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
どうやら画像だけでなくhttp通信でも同様の問題が発生しているという話もちらほらと見受けられました。(原因が同じかは不明ですが)
原因・解決
結論からいうと、Flutterの問題のようで解決策はありませんでした。
FlutterのGitHubスレッド
cached_network_imageのGitHubスレッド
中の人解決頑張れ〜〜〜〜