JSFiddle - React, Tailwind, and code Playground

HTML

<input type=file id=$fileInput>
<img id="$imgElm">

JavaScript

caches.open('fs').then(cache => {
  cache.match('/preview_image').then(res => res.blob()).then(blob => $imgElm.src = URL.createObjectURL(blob))
})

$fileInput.onchange = async evt => {
  $imgElm.src = URL.createObjectURL($fileInput.files[0])
  const cache = await caches.open('fs')
  await cache.delete('/preview_image')
  await cache.put('/preview_image', new Response($fileInput.files[0]))
  console.log('stored')
}