Coded a basic cafe banner image handler today.
- Resizes to 2000px and 1000px variations
- Creates WebP version for supporting browsers
- Had to use GD for that, my install of Imagick didn’t have WebP support
- File upload is sync, but resizing and cloud upload is Queued job so user doesn’t wait
- Uploads to S3 and cleans up old file versions
The code that renders the image on the frontend cafe page is suuuper rough. Just gets a random size, rather than using srcset. Sniffs webp support and does cloud disk access right in the view. Definitely needs tidying up, still a good start though.
Sourcing 2000px images (wide on retina) might be difficult. A lot of photos on the web seem to be lower quality. Might have to ask users or cafes to submit a quality one!