Content read lazily from a caller-supplied InputStream, opened once and cached.
File name sent with the upload, when known.
Reads the content. Implementations read once and cache the result.
Legacy template id: SHA-256 of the content, hex encoded.