curl_mime_type(3)

curl_mime_type3

Set a mime part's content type

Usage

#include <curl/curl.h>
CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype);

Overview

curl_mime_type(3) sets a mime part's content type.

part is the part's handle to assign the content type to.

mimetype points to the null-terminated file mime type string; it may be set to NULL to remove a previously attached mime type.

The mime type string is copied into the part, thus the associated storage may safely be released or reused after call. Setting a part's type multiple times is valid: only the value set by the last call is retained.

In the absence of a mime type and if needed by the protocol specifications, a default mime type is determined by the context:

- If set as a custom header, use this value.

- application/form-data for an HTTP form post.

- If a remote filename is set, the mime type is taken from the file name extension, or application/octet-stream by default.

- For a multipart part, multipart/mixed.

- text/plain in other cases.

Examples

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);
    /* get data from this file */
    curl_mime_filedata(part, "image.png");
    /* content-type for this part */
    curl_mime_type(part, "image/png");
    /* set name */
    curl_mime_name(part, "image");
}
}

Return value

CURLE_OK or a CURL error code upon failure.

Releases

32 releases since macOS 12.0.1; the text changed 9 times.

  1. 12.0.1–12.2
  2. 12.3–12.5
  3. 13.0
  4. 13.1
  5. 13.2
  6. 13.3
  7. 13.4
  8. 13.5–14.1
  9. 14.2–14.4
  10. 14.5–26.5

Availability

As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.