'File uploads parsed from an `url-encoded` or `multipart/form-data`
encoded POST or PUT request body. The values are instances of
:class:`cgi.FieldStorage`. The most important attributes are:
filename
The filename, if specified; otherwise None; this is the client
side filename, *not* the file name on which it is stored (that\'s
a temporary file you don\'t deal with)
file
The file(-like) object from which you can read the data.
value
The value as a *string*; for file uploads, this transparently
reads the file every time you request the value. Do not do this
on big files.'

@DictProperty('environ', 'bottle.request.files', read_only=True)
def files(self):

    files = MultiDict()
    for (name, item) in self.POST.iterallitems():
        if hasattr(item, 'filename'):
            files[name] = item
    return files
