Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Handling media in a Laravel app (Laracon eu)
Search
Freek Van der Herten
August 30, 2018
Programming
1
380
Handling media in a Laravel app (Laracon eu)
Freek Van der Herten
August 30, 2018
Tweet
Share
More Decks by Freek Van der Herten
See All by Freek Van der Herten
Uncharted packages (Laravel Live Denmark)
freekmurze
0
210
I shall define this only once
freekmurze
0
410
An Introduction to Snapshot testing
freekmurze
0
500
Event Sourcing In Laravel
freekmurze
0
250
Building a realtime dashboard with Laravel Livewire (PHPKonf)
freekmurze
0
820
A tour behind the scenes of Oh Dear (PHP Benelux)
freekmurze
2
860
A practical look at multitenancy in Laravel
freekmurze
1
360
A practical look at multitenancy in Laravel (Laracon US)
freekmurze
0
730
Highlights Flare codebase (Laracon online)
freekmurze
0
520
Other Decks in Programming
See All in Programming
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
750
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
410
testingを眺める
matumoto
1
140
AIでLINEスタンプを作ってみた
eycjur
1
230
Navigating Dependency Injection with Metro
zacsweers
3
260
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
530
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
440
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
520
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
110
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Done Done
chrislema
185
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Gamification - CAS2011
davidbonilla
81
5.4k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Balancing Empowerment & Direction
lara
3
620
Making Projects Easy
brettharned
117
6.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Rails Girls Zürich Keynote
gr2m
95
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
Handling media in a Laravel app
Freek Van der Herten Partner & developer at SPATIE @freekmurze
https://spatie.be https://ohdearapp.com https://fullstackeurope.com https://murze.be
Open source software
https://spatie.be/open-source
Some statistics ± 200 public repositories on GitHub August 2016:
± 800 000 downloads August 2017: ± 5 000 000 downloads August 2018: ± 17 000 000 downloads ± 1 250 000 downloads a month https://murze.be/the-story-behind-our-open-source-efforts
Postcardware
Spatie Samberstraat 69D 2060 Antwerp Belgium
https://spatie.be/open-source/postcards
Let's talk about media
The problem User uploaded content Where to store it all?
How to retrieve it? How to optimize images?
The problem Boring code to write Need the same things
in every project Write it slightly different in each project
Laravel Medialibrary
Laravel Medialibrary Associate files with Eloquent models Can group media
into collections Image conversions Uses multiple filesystems
Laravel Medialibrary Optimize converted images Custom image generators Customize directory
structure Custom attributes
https://docs.spatie.be/laravel-medialibrary
None
Demo
Wrapping up
Resources https://github.com/spatie/medialibrary-demo-laracon https://docs.spatie.be/laravel-medialibrary/v7 https://www.youtube.com/watch?v=4lq_6JLR2H8 https://github.com/spatie/laravel-medialibrary
Future plans Vue components Uploads Nova Tool
Release Q4 2018 - Q1 2019
Teamwork Sebastian De Deyne @sebdedeyne Willem Van Bockstal @willemvbockstal
Alex Vanderbist @alexvanderbist Brent Roose @brendt_gd
Freek Van der Herten Partner & developer at SPATIE @freekmurze
https://spatie.be https://ohdearapp.com https://fullstackeurope.com https://murze.be