Sean Fraser created a good package that we may use for easily uploading and attaching media files to models with Laravel 5.

mediable

Features

Filesystem-driven approach is easily configurable to allow any number of upload directories with different accessibility.

Many-to-many polymorphic relationships allow any number of media to be assigned to any number of other models without any need to modify the schema.

Attach media to models with tags, to set and retrieve media for specific purposes, such as 'thumbnail', 'featured image', 'gallery' or 'download'.

Easily query media and restrict uploads by MIME type, extension and/or aggregate type (e.g. image for jpeg, png or gif).