mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
63ef436ea1
curl_mime_encoder() is operational and documented. curl tool -F option is extended with ";encoder=". curl tool --libcurl option generates calls to curl_mime_encoder(). New encoder tests 648 & 649. Test 1404 extended with an encoder specification.
98 lines
3.7 KiB
Groff
98 lines
3.7 KiB
Groff
.\" **************************************************************************
|
|
.\" * _ _ ____ _
|
|
.\" * Project ___| | | | _ \| |
|
|
.\" * / __| | | | |_) | |
|
|
.\" * | (__| |_| | _ <| |___
|
|
.\" * \___|\___/|_| \_\_____|
|
|
.\" *
|
|
.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
.\" *
|
|
.\" * This software is licensed as described in the file COPYING, which
|
|
.\" * you should have received as part of this distribution. The terms
|
|
.\" * are also available at https://curl.haxx.se/docs/copyright.html.
|
|
.\" *
|
|
.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
.\" * copies of the Software, and permit persons to whom the Software is
|
|
.\" * furnished to do so, under the terms of the COPYING file.
|
|
.\" *
|
|
.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
.\" * KIND, either express or implied.
|
|
.\" *
|
|
.\" **************************************************************************
|
|
.TH curl_mime_encoder 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
|
|
.SH NAME
|
|
curl_mime_encoder - set a mime part's encoder and content transfer encoding
|
|
.SH SYNOPSIS
|
|
.B #include <curl/curl.h>
|
|
.sp
|
|
.BI "CURLcode curl_mime_encoder(curl_mimepart * " part ,
|
|
.BI "const char * " encoding ");"
|
|
.ad
|
|
.SH DESCRIPTION
|
|
curl_mime_encoder() requests a mime part's content to be encoded before being
|
|
transmitted.
|
|
|
|
\fIpart\fP is the part's handle to assign an encoder.
|
|
\fIencoding\fP is a pointer to a zero-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's encoder twice is valid: only the value set by the last call is
|
|
retained.
|
|
|
|
Upon multipart rendering, the part's content is encoded according to the
|
|
pertaining scheme and a corresponding \fIContent-Transfer-Encoding"\fP header
|
|
is added to the part.
|
|
|
|
Supported encoding schemes are:
|
|
.br
|
|
"\fIbinary\fP": the data is left unchanged, the header is added.
|
|
.br
|
|
"\fI8bit\fP": header added, no data change.
|
|
.br
|
|
"\fI7bit\fP": the data is unchanged, but is each byte is checked
|
|
to be a 7-bit value; if not, a read error occurs.
|
|
.br
|
|
"\fIbase64\fP": Data is converted to base64 encoding, then split in
|
|
CRLF-terminated lines of at most 76 characters.
|
|
.br
|
|
"\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\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\fP() is
|
|
strongly discouraged.
|
|
.SH AVAILABILITY
|
|
As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
|
|
.SH RETURN VALUE
|
|
CURLE_OK or a CURL error code upon failure.
|
|
.SH EXAMPLE
|
|
.nf
|
|
curl_mime *mime;
|
|
curl_mimepart *part;
|
|
|
|
/* create a mime handle */
|
|
mime = curl_mime_init(easy);
|
|
|
|
/* 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 "SEE ALSO"
|
|
.BR curl_mime_addpart "(3),"
|
|
.BR curl_mime_headers "(3),"
|
|
.BR curl_mime_subparts "(3)"
|