platformImageProvider function
Platform-aware image provider.
On web: returns NetworkImage (works for same-origin and CORS-enabled URLs
like Google, Firebase Storage, etc.). For cross-origin URLs without CORS,
use platformNetworkImage() or platformCircleAvatar() instead.
On mobile: returns CachedNetworkImageProvider for disk caching.
NOTE: Do NOT use webHtmlElementStrategy: prefer — it loads via HTML
but then fails with EncodingError when extracting pixels for Canvas painting.
Implementation
ImageProvider platformImageProvider(String imageUrl, {int? maxHeight, int? maxWidth}) {
final optimizedUrl = _optimizeGoogleImageUrl(imageUrl);
if (kIsWeb) {
return NetworkImage(optimizedUrl);
}
return CachedNetworkImageProvider(optimizedUrl, maxHeight: maxHeight, maxWidth: maxWidth);
}