decode_multipart


Description:


public HashTable<unowned string,unowned string>? decode_multipart (Multipart multipart, string? file_control_name, out string filename, out string content_type, out Bytes file)

Decodes the "multipart/form-data" request in multipart.

this is a convenience method for the case when you have a single file upload control in a form. (Or when you don't have any file upload controls, but are still using "multipart/form-data" anyway.) Pass the name of the file upload control in file_control_name, and [ func@form_decode_multipart] will extract the uploaded file data into filename, content_type, and file. All of the other form control data will be returned (as strings, as with [func@form_decode] in the returned [struct@GLib.HashTable].

You may pass null for filename, content_type and/or file if you do not care about those fields. [func@form_decode_multipart] may also return null in those fields if the client did not provide that information. You must free the returned filename and content-type with [func@GLib.free], and the returned file data with [ method@Glib.Bytes.unref].

If you have a form with more than one file upload control, you will need to decode it manually, using [ctor@Multipart.new_from_message] and [ method@Multipart.get_part].

Parameters:

multipart

a Multipart

file_control_name

the name of the HTML file upload control

filename

return location for the name of the uploaded file

content_type

return location for the MIME type of the uploaded file

file

return location for the uploaded file data

Returns:

a hash table containing the name/value pairs (other than file_control_name) from msg, which you can free with [func@GLib.HashTable.destroy]. On error, it will return null.


Namespace: Soup.Form
Package: libsoup-3.0