loadImageFromNetwork function

Future<Image> loadImageFromNetwork(
  1. String url, {
  2. Client? client,
  3. Map<String, String>? headers,
})

通过网络请求加载图片

Implementation

Future<ui.Image> loadImageFromNetwork(
  String url, {
  http.Client? client,
  Map<String, String>? headers,
}) async {
  final http.Client effectiveClient = client ?? http.Client();
  try {
    final http.Response response =
        await effectiveClient.get(Uri.parse(url), headers: headers);
    if (response.statusCode != 200) {
      throw http.ClientException('HTTP ${response.statusCode}', Uri.parse(url));
    }
    return decodeImageFromBytes(response.bodyBytes);
  } finally {
    if (client == null) {
      effectiveClient.close();
    }
  }
}