Did you know ... | Search Documentation: |
http_multipart_plugin.pl -- Multipart form-data plugin |
This plugin for library(http_client) automatically translates messages
with content-type multipart/form-data
into a list of Name = Value
pairs, greatly simplifying the processing of forms with this type.
After loading this plugin, multipart form-data can be accessed through http_parameters/3 from library(http/http_parameters) or http_read_data/3 from library(http/http_client).
multipart/form-data
messages for http_read_data/3.
This plugin adds the folling options to http_read_data/3:
multipart/form-data
, return the
form-data either in one of the following formats:
mime(Properties, Value, [])
. This is a backward
compatibility mode, emulating library(http/http_mime_plugin)
.
Note that if the disposition contains a filename
property, the data is read as binary unless there is a
charset parameter in the Content-Type stating otherwise,
while the old library would use UTF-8 for text files.filename
disposition and no Content-Type with a charset indication.
This is typically the case for input widgets and browsers
encode this using the encoding of the page. As the SWI-Prolog
http library emits pages in UTF-8, the default is utf8
.filename
disposition is found and this
option is given, call CallBack as below. Stream is the
multipart input stream, which has octet (raw) encoding.
Value is returned as result. Note that the callback
may wish to save the result into a file and return e.g.,
file(Path)
to indicate where the file was saved.
call(:CallBack, +Stream, -Value, +Options).
The Options list contains information from the part header.
It always contains name(Name)
and filename(FileName)
. It
may contain a term media(Type/SubType, Params)
if the part
contains a Content-Type header.