I am creating a Progressive web app(PWA) using angular javascript. where I need to store images and videos downloaded from the server.
I have explored on local storage and IndexedDb, both have limitation in storage size. The official document says, Safari browser allocates max of 50 MB and Chrome mobile allocates 6% of free disk space for local storage.
Is there any option to store the images and videos of large size locally and display the same in PWA app when the device is in offline?
With different types of content & needs, you can apply a suitable PWA local storage practice to improve your web app's performance.
The two key things you need to add to your web app to make it a PWA are a service worker and a web manifest. Doing this using Angular is as easy as adding the “ng add angular pwa” command to your existing Angular application.
setItem. The setItem(key, value) method helps us add value to the local storage using a key and value. For example, the following code saves the key user-background and the #ff00ff value in the browser's local storage. If you need to store objects, first you need to convert to string using JSON.
You can't bypass the storage constraints set by the browsers(different for each browser as you have observed). Most of the browsers will let you store more(with users permissions where applicable) but that has to be noted is, these data can also be deleted by the browser without your application having any control over preventing it.
Its a snadboxed storage your browser allocated to your app and it can always take back on different scenarios.. like when the disk space goes low, user clears cache etc.,
You can rely on it as long as you have a fallback when the file is cleared. If you are thinking of storing GBs of data, this option is not for you. But if it goes couple of hundred MBs, you should be okay with most browsers, provided user accepts to allocate the space.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With