Not an entire app. A code snippet should suffice.
To be fair, there is a little bit of a trick to it. The value you get out of a FileLoader or database column will be a Media Object, but Python’s zipfile library (and its ZipFile class) naturally doesn’t know anything about Media Objects. So a direct connection between the two isn’t possible. There will be an intermediate step, to convert the Media Object into something that ZipFile does understand: Python’s bytes type.
In the code below, report_blob is a Media Object.
if report_blob.content_type != 'application/zip':
return { 'err': 'Not a Zip File.' }
zip_as_in_memory_file = io.BytesIO(report_blob.get_bytes())
z = zipfile.ZipFile(zip_as_in_memory_file)
At that point, z is a ZipFile instance, which you already know about.
I hope this helps.