← Graph

Handling file uploads for modern developer

talk 33 connections

wroclove.rb 2019 talk by Janko Marohnić sharing best practices for handling file uploads in web applications. Structured around four themes: (1) server-side validation — file size, MIME type determined from content via magic bytes (not the Content-Type header which comes from the extension), image dimensions to prevent image bombs, and custom metadata that should be persisted; (2) processing — on-upload vs on-the-fly, using the image_processing gem with either ImageMagick (mini_magick) or libvips backends (libvips ~3–5× faster); (3) upload UX — async direct uploads to S3 driven by the Uppy JavaScript library, with built-in UI components (file input, progress bar, drag-and-drop, dashboard); (4) resumable uploads via S3 multipart or the generic tus protocol. Ends with Q&A covering DDoS protection via signed URLs, orphan-file avoidance via temporary storage, testing with MinIO, and a request for Ruby bindings for imageflow.

type
talk
talk Handling file uploads for modern developer
about
Shrine tool
The talk centers on file-upload best practices as implemented in Shrine.
talk Handling file uploads for modern developer
about
Paperclip tool
Discussed as part of the Ruby file-upload landscape and the speaker's history.
talk Handling file uploads for modern developer
about
Discussed as part of the Ruby file-upload landscape and its missing built-ins.
talk Handling file uploads for modern developer
about
Refile tool
Discussed as the opinionated library Shrine was forked from.
talk Handling file uploads for modern developer
about
Compared with Shrine, especially regarding URL-encoded processing and bundled JavaScript.
talk Handling file uploads for modern developer
about
Janko presents the gem as the recommended image-processing integration.
talk Handling file uploads for modern developer
about
Discussed as traditional backend behind mini_magick with security concerns.
talk Handling file uploads for modern developer
about
libvips tool
Recommended as a faster alternative backend to ImageMagick.
talk Handling file uploads for modern developer
about
Uppy tool
Recommended JavaScript library for the upload UX.
talk Handling file uploads for modern developer
about
tus protocol concept
Covered as the generic resumable-upload protocol option.
talk Handling file uploads for modern developer
about
Amazon S3 tool
Primary cloud storage target for direct and multipart resumable uploads.
talk Handling file uploads for modern developer
about
Rack tool
Shrine is built on Rack to be framework-agnostic.
talk Handling file uploads for modern developer
about
Explains validating MIME from content via magic bytes.
talk Handling file uploads for modern developer
about
Image bomb concept
Explains why dimension validation is needed.
talk Handling file uploads for modern developer
about
Covers direct-to-S3 uploads via Uppy.
talk Handling file uploads for modern developer
about
One of two processing strategies compared.
talk Handling file uploads for modern developer
about
One of two processing strategies compared.
talk Handling file uploads for modern developer
about
Covers resumable uploads via S3 multipart and tus.
talk Handling file uploads for modern developer
about
Orphan Files concept
Discussed via Shrine's temporary/permanent storage separation.
asked_at
Handling file uploads for modern developer talk
Audience question during Q&A.
asked_at
Handling file uploads for modern developer talk
Audience question during Q&A.
asked_at
Handling file uploads for modern developer talk
Audience question during Q&A.
asked_at
Handling file uploads for modern developer talk
Audience question during Q&A.
authored
Handling file uploads for modern developer talk
Speaker of the wroclove.rb 2019 talk.
from_talk
Handling file uploads for modern developer talk
Takeaway from the Q&A on DDoS protection.
from_talk
Handling file uploads for modern developer talk
Recommendation from the validation section.
from_talk
Handling file uploads for modern developer talk
Recommendation from the validation section.
from_talk
Handling file uploads for modern developer talk
Recommendation from the metadata recap.
from_talk
Handling file uploads for modern developer talk
Recommendation from the image-processing section.
from_talk
Handling file uploads for modern developer talk
Explicit recommendation from the upload UX section.
from_talk
Handling file uploads for modern developer talk
Recommendation from the Q&A on testing.
from_talk
Handling file uploads for modern developer talk
Recommendation from the Q&A on async upload transactionality.
talk Handling file uploads for modern developer
presented_at
Delivered at wroclove.rb 2019.

Provenance

Created
2026-04-17 16:17 seed
Read by
17 extractions