Middleware that parses multipart request bodies into parameters.
This middleware is necessary to handle file uploads from web browsers.
Ring comes with two different multipart storage engines included:
ring.middleware.multipart-params.byte-array/byte-array-store
ring.middleware.multipart-params.temp-file/temp-file-store
Type: var
Added: 1.2
Arguments:
[request]
[request options]
Adds :multipart-params and :params keys to request.
See: wrap-multipart-params.
Type: var
Arguments:
[handler]
[handler options]
Middleware to parse multipart parameters from a request. Adds the
following keys to the request map:
:multipart-params - a map of multipart parameters
:params - a merged map of all types of parameter
The following options are accepted
:encoding - character encoding to use for multipart parsing.
Overrides the encoding specified in the request. If not
specified, uses the encoding specified in a part named
"_charset_", or the content type for each part, or
request character encoding if the part has no encoding,
or "UTF-8" if no request character encoding is set.
:fallback-encoding - specifies the character encoding used in parsing if a
part of the request does not specify encoding in its
content type or no part named "_charset_" is present.
Has no effect if :encoding is also set.
:store - a function that stores a file upload. The function
should expect a map with :filename, :content-type and
:stream keys, and its return value will be used as the
value for the parameter in the multipart parameter map.
The default storage function is the temp-file-store.
:progress-fn - a function that gets called during uploads. The
function should expect four parameters: request,
bytes-read, content-length, and item-count.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close