Objects: preview, download, share
Metadata from a HEAD, inline previews for images, JSON and text, a real download, and presigned links with an expiry you choose.
Tapping a file opens its object page.
Metadata
From a HEAD request: size, last modified, ETag, storage class — and the real
Content-Type, as opposed to the guess a listing allows. (A subtlety worth knowing: the
XML parser only drops a “folder marker” object when the requested prefix ends in /,
otherwise an exact-key lookup for a zero-byte object would skip the object you asked for.)
Preview
- Images render inline.
- JSON opens in a collapsible, searchable tree, with a plain-text fallback when the document is truncated.
- Other text is fetched size-capped with an unsigned
Rangeheader, and truncation is detected from theContent-Rangeresponse — so a 2 GB log file previews its first chunk instead of trying to download itself.
Download
A real download to the device’s Downloads or documents directory. On the web, where writing to a filesystem is not available, share links stand in.
Share links
Two ways, both presigned so the recipient needs no credentials:
- Quick link — a one-hour presigned URL, copied straight from the row menu.
- Advanced sheet — choose an expiry from 15 minutes up to S3’s 7-day maximum, and
optionally force a download filename or content type. Both of those are baked into
the signature as
response-content-*overrides, so the link genuinely behaves that way rather than relying on the recipient’s browser to guess.
Sharing a log file with a colleague, from a phone, with a link that expires this afternoon, is the entire reason this screen exists.
Back to S3 & object storage.