我想通过用C++编写的程序发送图片. - 确定它有效,但我想将预先加载的载体中的图片发送到变量char(你知道我的意思吗?首先,我将图片加载到变量然后发送变量),因为现在我有了指定磁盘上图片的路径.
我想用c ++编写这个程序,使用curl库而不是exe.延期.我也找到了这样一个程序(我已经修改了一下)
Ola*_*ahl 10
CURLFORM_PTRCONTENTS在这里不正确,它不会创建文件上传部分.
相反,应该使用CURLFORM_BUFFER从内存中已存在的缓冲区发送图像.
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "send",
CURLFORM_BUFFER, "nowy.jpg",
CURLFORM_BUFFERPTR, data,
CURLFORM_BUFFERLENGTH, size,
CURLFORM_END);
Run Code Online (Sandbox Code Playgroud)
阅读以下文档curl_formadd
:http://curl.haxx.se/libcurl/c/curl_formadd.html
具体来说,在“选项”下:
CURLFORM_PTRCONTENTS
接下来是指向这部分内容的指针,即要发送的实际数据。libcurl 将使用指针并引用应用程序中的数据,因此您必须确保它一直保留到curl 不再需要它为止。如果数据不是以 NUL 结尾,或者您希望它包含零字节,则必须使用 CURLFORM_CONTENTSLENGTH 设置其长度。
CURLFORM_CONTENTSLENGTH
接下来是一个 long 给出内容的长度。请注意,对于 CURLFORM_STREAM 内容,此选项是必需的。
所以而不是
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "send",
CURLFORM_FILE, "nowy.jpg",
CURLFORM_END);
Run Code Online (Sandbox Code Playgroud)
你想要类似的东西
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "send",
CURLFORM_PTRCONTENTS, p_jpg_data,
CURLFORM_CONTENTSLENGTH, jpg_data_len,
CURLFORM_END);
Run Code Online (Sandbox Code Playgroud)
我假设您知道如何创建p_jpg_data
数据并将其读入其中,或者您是否需要对此进行解释?
归档时间: |
|
查看次数: |
3622 次 |
最近记录: |