mime api 替代 libcurl 的 CURLFORM_BUFFER 字段
mime api alternative for libcurl's CURLFORM_BUFFER field
最近我切换到 curl 7.59,并且正在按照 curl 文档的建议将表单数据上传替换为 mime 上传。我找不到等效的 mime api 来设置 CURLFORM_BUFFER 字段,该字段当前用于在我的应用程序中设置文件名字段。任何人都知道使用哪个 mime api(任何类似于 curl_mime_data(CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH) 或 curl_mime_name(CURLFORM_COPYNAME))的东西?
这是我指的 mime 示例:https://curl.haxx.se/libcurl/c/smtp-mime.html
根据卷曲文档:
CURLFORM_BUFFER
用于不使用 CURLFORM_FILE 的自定义文件上传部分。它告诉 libcurl 文件内容已经存在于缓冲区中。参数为字符串,提供内容中的文件名字段header.
我认为您需要 curl_mime_filename(),您可以使用它在常规 "part" 上设置文件名,使其看起来和作为文件上传到接收器。
示例
从内存上传图像并使其显示为文件上传:
curl_mime *mime;
curl_mimepart *part;
/* create a mime handle */
mime = curl_mime_init(easy);
/* add a part */
part = curl_mime_addpart(mime);
/* point out the image data buffer */
curl_mime_data(part, imagebuf, imagebuf_len);
/* set a file name to make it look like a file upload */
curl_mime_filename(part, "image.png");
/* set a name on the part */
curl_mime_name(part, "my-avatar");
最近我切换到 curl 7.59,并且正在按照 curl 文档的建议将表单数据上传替换为 mime 上传。我找不到等效的 mime api 来设置 CURLFORM_BUFFER 字段,该字段当前用于在我的应用程序中设置文件名字段。任何人都知道使用哪个 mime api(任何类似于 curl_mime_data(CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH) 或 curl_mime_name(CURLFORM_COPYNAME))的东西?
这是我指的 mime 示例:https://curl.haxx.se/libcurl/c/smtp-mime.html
根据卷曲文档: CURLFORM_BUFFER
用于不使用 CURLFORM_FILE 的自定义文件上传部分。它告诉 libcurl 文件内容已经存在于缓冲区中。参数为字符串,提供内容中的文件名字段header.
我认为您需要 curl_mime_filename(),您可以使用它在常规 "part" 上设置文件名,使其看起来和作为文件上传到接收器。
示例
从内存上传图像并使其显示为文件上传:
curl_mime *mime;
curl_mimepart *part;
/* create a mime handle */
mime = curl_mime_init(easy);
/* add a part */
part = curl_mime_addpart(mime);
/* point out the image data buffer */
curl_mime_data(part, imagebuf, imagebuf_len);
/* set a file name to make it look like a file upload */
curl_mime_filename(part, "image.png");
/* set a name on the part */
curl_mime_name(part, "my-avatar");