cacheImageFromUrl static method

Future<String?> cacheImageFromUrl(
  1. String url,
  2. String key
)

Cache image from network

Implementation

static Future<String?> cacheImageFromUrl(String url, String key) async {
  _ensureInitialized();

  try {
    final uri = Uri.parse(url);
    final request = await HttpClient().getUrl(uri);
    final response = await request.close();

    if (response.statusCode == 200) {
      final bytes = await consolidateHttpClientResponseBytes(response);
      final cachedFile = File('${_cacheDir!.path}/$key');
      await cachedFile.writeAsBytes(bytes);
      return cachedFile.path;
    }
  } catch (e) {
    // Return null if caching fails
  }

  return null;
}