xref: /aosp_15_r20/external/curl/docs/libcurl/curl_mime_filename.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerTitle: curl_mime_filename
5*6236dae4SAndroid Build Coastguard WorkerSection: 3
6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl
7*6236dae4SAndroid Build Coastguard WorkerSee-also:
8*6236dae4SAndroid Build Coastguard Worker  - curl_mime_addpart (3)
9*6236dae4SAndroid Build Coastguard Worker  - curl_mime_data (3)
10*6236dae4SAndroid Build Coastguard Worker  - curl_mime_filedata (3)
11*6236dae4SAndroid Build Coastguard WorkerProtocol:
12*6236dae4SAndroid Build Coastguard Worker  - HTTP
13*6236dae4SAndroid Build Coastguard Worker  - IMAP
14*6236dae4SAndroid Build Coastguard Worker  - SMTP
15*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.56.0
16*6236dae4SAndroid Build Coastguard Worker---
17*6236dae4SAndroid Build Coastguard Worker
18*6236dae4SAndroid Build Coastguard Worker# NAME
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Workercurl_mime_filename - set a mime part's remote filename
21*6236dae4SAndroid Build Coastguard Worker
22*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS
23*6236dae4SAndroid Build Coastguard Worker
24*6236dae4SAndroid Build Coastguard Worker~~~c
25*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
26*6236dae4SAndroid Build Coastguard Worker
27*6236dae4SAndroid Build Coastguard WorkerCURLcode curl_mime_filename(curl_mimepart *part,
28*6236dae4SAndroid Build Coastguard Worker                            const char *filename);
29*6236dae4SAndroid Build Coastguard Worker~~~
30*6236dae4SAndroid Build Coastguard Worker
31*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION
32*6236dae4SAndroid Build Coastguard Worker
33*6236dae4SAndroid Build Coastguard Workercurl_mime_filename(3) sets a mime part's remote filename. When remote
34*6236dae4SAndroid Build Coastguard Workerfilename is set, content data is processed as a file, whatever is the part's
35*6236dae4SAndroid Build Coastguard Workercontent source. A part's remote filename is transmitted to the server in the
36*6236dae4SAndroid Build Coastguard Workerassociated Content-Disposition generated header.
37*6236dae4SAndroid Build Coastguard Worker
38*6236dae4SAndroid Build Coastguard Worker*part* is the part's handle to assign the remote filename to.
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker*filename* points to the null-terminated filename string; it may be set
41*6236dae4SAndroid Build Coastguard Workerto NULL to remove a previously attached remote filename.
42*6236dae4SAndroid Build Coastguard Worker
43*6236dae4SAndroid Build Coastguard WorkerThe remote filename string is copied into the part, thus the associated
44*6236dae4SAndroid Build Coastguard Workerstorage may safely be released or reused after call. Setting a part's file
45*6236dae4SAndroid Build Coastguard Workername multiple times is valid: only the value set by the last call is retained.
46*6236dae4SAndroid Build Coastguard Worker
47*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS%
48*6236dae4SAndroid Build Coastguard Worker
49*6236dae4SAndroid Build Coastguard Worker# EXAMPLE
50*6236dae4SAndroid Build Coastguard Worker
51*6236dae4SAndroid Build Coastguard Worker~~~c
52*6236dae4SAndroid Build Coastguard Worker
53*6236dae4SAndroid Build Coastguard Workerstatic char imagebuf[]="imagedata";
54*6236dae4SAndroid Build Coastguard Worker
55*6236dae4SAndroid Build Coastguard Workerint main(void)
56*6236dae4SAndroid Build Coastguard Worker{
57*6236dae4SAndroid Build Coastguard Worker  curl_mime *mime;
58*6236dae4SAndroid Build Coastguard Worker  curl_mimepart *part;
59*6236dae4SAndroid Build Coastguard Worker
60*6236dae4SAndroid Build Coastguard Worker  CURL *curl = curl_easy_init();
61*6236dae4SAndroid Build Coastguard Worker  if(curl) {
62*6236dae4SAndroid Build Coastguard Worker    /* create a mime handle */
63*6236dae4SAndroid Build Coastguard Worker    mime = curl_mime_init(curl);
64*6236dae4SAndroid Build Coastguard Worker
65*6236dae4SAndroid Build Coastguard Worker    /* add a part */
66*6236dae4SAndroid Build Coastguard Worker    part = curl_mime_addpart(mime);
67*6236dae4SAndroid Build Coastguard Worker
68*6236dae4SAndroid Build Coastguard Worker    /* send image data from memory */
69*6236dae4SAndroid Build Coastguard Worker    curl_mime_data(part, imagebuf, sizeof(imagebuf));
70*6236dae4SAndroid Build Coastguard Worker
71*6236dae4SAndroid Build Coastguard Worker    /* set a file name to make it look like a file upload */
72*6236dae4SAndroid Build Coastguard Worker    curl_mime_filename(part, "image.png");
73*6236dae4SAndroid Build Coastguard Worker
74*6236dae4SAndroid Build Coastguard Worker    /* set name */
75*6236dae4SAndroid Build Coastguard Worker    curl_mime_name(part, "data");
76*6236dae4SAndroid Build Coastguard Worker  }
77*6236dae4SAndroid Build Coastguard Worker}
78*6236dae4SAndroid Build Coastguard Worker~~~
79*6236dae4SAndroid Build Coastguard Worker
80*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY%
81*6236dae4SAndroid Build Coastguard Worker
82*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE
83*6236dae4SAndroid Build Coastguard Worker
84*6236dae4SAndroid Build Coastguard WorkerCURLE_OK or a CURL error code upon failure.
85