curl_mime_filedata(3)

NAME
curl_mime_filedata - set a mime part's body data from a file contents

SYNOPSIS
#include <curl/curl.h>

CURLcode curl_mime_filedata(curl_mimepart * part, const char * filename);

DESCRIPTION
curl_mime_filedata(3) sets a mime part's body content from the named file's contents. This is an alernative to curl_mime_data(3) for setting data to a mime part. part is the part's to assign contents to. filename points to the nul-terminated file's path name. The pointer can be NULL to detach previous part contents settings. Filename storage can be safely be reused after this call. As a side effect, the part's remote file name is set to the base name of the given filename if it is a valid named file. This can be undone or overriden by a subsequent call to curl_mime_filename(3). The contents of the file is read during the file transfer in a streaming manner to allow huge files to get transfered without using much memory. It therefore requires that the file is kept intact during the entire request. Setting a part's contents twice is valid: only the value set by the last call is retained.

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

RETURN VALUE
CURLE_OK or a CURL error code upon failure.

EXAMPLE
 curl_mime *mime;
 curl_mimepart *part;
 /* create a mime handle */
 mime = curl_mime_init(easy);
 /* add a part */
 part = curl_mime_addpart(mime);
 /* send data from this file */
 curl_mime_filedata(part, "image.png");
 /* set name */
 curl_mime_name(part, "data");

SEE ALSO
curl_mime_addpart(3), curl_mime_data(3), curl_mime_filename(3), curl_mime_name(3)