tiff_web library

Optional web entry point: browser TiffAsyncByteSources for TiffDecoder.decodeAsync.

Import this, from an app compiled for the web (JavaScript or Wasm), to open TIFF/BigTIFF files of any size without loading them into memory:

  • BlobByteSource reads a File the user picked or dropped (any Blob) straight from disk, one requested range at a time.
  • HttpRangeByteSource reads a file on an HTTP server with Range requests, fetching only what a decode needs.

Uses package:web, so it is only available on the web — kept separate from package:tiff/tiff.dart so that library stays platform-agnostic.

Classes

BlobByteSource
Reads a TIFF/BigTIFF file from a browser Blob — typically the File from an <input type="file"> or a drop event. The browser reads each requested range from disk on demand, so the file's size doesn't matter.
HttpRangeByteSource
Reads a TIFF/BigTIFF file over HTTP with Range requests, fetching only the header, the IFDs, and the strips/tiles each decode needs — e.g. a cloud-optimized GeoTIFF or a whole-slide image on a server or bucket.