Baseflow / flutter_cached_network_image

Download, cache and show images in a flutter app
https://baseflow.com
2.41k stars 638 forks source link

Firebase storage support #346

Open OliverRhyme opened 4 years ago

OliverRhyme commented 4 years ago

🚀 Feature Requests

Firebase storage support

Contextualize the feature

Because image loading is a very common usage of cached image loading and it is a very neat feature to include just like Glide supports it in native android.

Describe the feature

To be able to directly support firebase storage references or gs:// url without having to convert it to https:// links and thus much less boilerplate

Platforms affected (mark all that apply)

dekadevelop commented 3 years ago

This package does it,

https://pub.dev/packages/cache_image

could it be possible to use the same behaviour, using a link 'gs://your-project.appspot.com/image.png' and have the plugin woking in the same way?

ycv005 commented 3 years ago

This as well- https://pub.dev/packages/firebase_image

Rizwan-Raza commented 3 years ago

Is this library going to support this gs:// scheme feature? Cause both the above mentioned libraries aren't as good as this library is. placeholder, errorWidget are some things that they don't have and can't be replicated in similar manner.

renefloor commented 3 years ago

@Rizwan-Raza you can combine CachedNetworkImage with flutter_cache_manager_firebase

Rizwan-Raza commented 3 years ago

That flutter_cache_manager_firebase library mainly returns a File. How that file is useful with CachedNetwrokImage who expects a URL for fetching a network image, mainly https. Do I need to store that file to locally and get a local url and work with it? And is CachedNetworkImage work with local paths?

That thing is much worse for me than using above two libraries that were mentioned.

Rizwan-Raza commented 3 years ago

Ok, ... Are you suggesting me to dig inside your library's cloned reposatory and replace some code where you generate network url to solid files with the code of firebase url to solid files? and then use it?

That's also not a good option for me.

Or something else you are suggesting that I'm not getting?

renefloor commented 3 years ago

CachedNetworkImage can also be given a cachemanager: https://pub.dev/documentation/cached_network_image/latest/cached_network_image/CachedNetworkImage/CachedNetworkImage.html

If you give it FirebaseCacheManager() you can just use gs:// urls and the CachedNetworkImage will use the FirebaseCacheManager to get the files from the url or the cache.