Skip to content
Import & Ingestion

Local Folder Ingest & Proxy Extraction

HTML5 folder drag-and-drop, client EXIF extraction, and Web Worker WebP proxy generation.

Drag-and-Drop Ingestion Architecture

Photographers can drag an entire folder structure containing thousands of RAW and JPEG files directly into the BestShots upload zone. The client-side ingestion manager recurses directories using the HTML5 File System API while preserving original relative paths.


Client-Side EXIF Parsing

Before proxy upload begins, BestShots reads the EXIF metadata directly in the browser using binary stream headers. This extracts key photographic parameters with zero server round-trips:

  • Camera Make & Model: Sony ILCE-7RM5, Canon EOS R6 Mark II, Nikon Z8, etc.
  • Exposure Triangle: Shutter speed, f-number (aperture), and ISO sensitivity.
  • Optical Profile: Lens model, focal length, and optical stabilization status.
  • Timestamp & Orientation: Millisecond capture times for burst grouping and EXIF rotation tags.

Client-Side Web Worker Proxy Pipeline (ADR 0015)

Decoding whole 50-megapixel uncompressed RAW files in browser memory would crash browser tabs. BestShots processes camera RAW files using dedicated background Web Workers:

  1. Chunked Binary Slicing: Using HTML5 File.slice(), workers inspect only the initial header bytes of local RAW files. The multi-megabyte sensor payload remains untouched on disk.
  2. Embedded Preview Extraction: Extracts the full-resolution preview JPEG packaged within camera RAW containers (.ARW, .CR3, .NEF, .RAF, .DNG, etc.).
  3. Hardware-Accelerated Decoding: The browser's native createImageBitmap() decodes the preview on worker threads with zero main-thread UI jank.
  4. Normalized WebP Rendering: OffscreenCanvas renders both a standardized 300×300 WebP thumbnail and an optimized 2048px high-resolution inspection proxy in ~500ms.
  5. Direct Cloud Proxy Upload: Only the lightweight WebP proxy is transmitted to Azure Blob Storage, saving over 95% bandwidth and keeping master RAW files on your local drive.