| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- .\" generated by cd2nroff 0.1 from curl_mime_encoder.md
- .TH curl_mime_encoder 3 "2025-01-17" libcurl
- .SH NAME
- curl_mime_encoder \- set a mime part\(aqs encoder and content transfer encoding
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_mime_encoder(curl_mimepart *part, const char *encoding);
- .fi
- .SH DESCRIPTION
- curl_mime_encoder() requests a mime part\(aqs content to be encoded before being
- transmitted.
- \fIpart\fP is the part\(aqs handle to assign an encoder.
- \fIencoding\fP is a pointer to a null\-terminated encoding scheme. It may be
- set to NULL to disable an encoder previously attached to the part. The encoding
- scheme storage may safely be reused after this function returns.
- Setting a part\(aqs encoder multiple times is valid: only the value set by the
- last call is retained.
- Upon multipart rendering, the part\(aqs content is encoded according to the
- pertaining scheme and a corresponding \fI"Content\-Transfer\-Encoding"\fP header
- is added to the part.
- Supported encoding schemes are:
- \&"\fIbinary\fP": the data is left unchanged, the header is added.
- \&"\fI8bit\fP": header added, no data change.
- \&"\fI7bit\fP": the data is unchanged, but is each byte is checked
- to be a 7\-bit value; if not, a read error occurs.
- \&"\fIbase64\fP": Data is converted to base64 encoding, then split in
- CRLF\-terminated lines of at most 76 characters.
- \&"\fIquoted\-printable\fP": data is encoded in quoted printable lines of
- at most 76 characters. Since the resulting size of the final data cannot be
- determined prior to reading the original data, it is left as unknown, causing
- chunked transfer in HTTP. For the same reason, this encoder may not be used
- with IMAP. This encoder targets text data that is mostly ASCII and should
- not be used with other types of data.
- If the original data is already encoded in such a scheme, a custom
- \fIContent\-Transfer\-Encoding\fP header should be added with
- \fIcurl_mime_headers(3)\fP instead of setting a part encoder.
- Encoding should not be applied to multiparts, thus the use of this function on
- a part with content set with \fIcurl_mime_subparts(3)\fP is strongly
- discouraged.
- .SH PROTOCOLS
- This functionality affects http, imap and smtp
- .SH EXAMPLE
- .nf
- int main(void)
- {
- curl_mime *mime;
- curl_mimepart *part;
- CURL *curl = curl_easy_init();
- if(curl) {
- /* create a mime handle */
- mime = curl_mime_init(curl);
- /* add a part */
- part = curl_mime_addpart(mime);
- /* send a file */
- curl_mime_filedata(part, "image.png");
- /* encode file data in base64 for transfer */
- curl_mime_encoder(part, "base64");
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.56.0
- .SH RETURN VALUE
- CURLE_OK or a CURL error code upon failure.
- .SH SEE ALSO
- .BR curl_mime_addpart (3),
- .BR curl_mime_headers (3),
- .BR curl_mime_subparts (3)
|