我正在开发一个涉及通过 http 流发送语音的项目,我目前正在为我的 Http 后端使用 CURL。我看到如果我需要使用"Transfer-Encoding: chunked"我需要提到总流大小/ "Content-length:"。我目前正在等待流完成,从中我将知道总内容大小。这有效,但会导致严重延迟。我想知道如何在不知道输入的总内容长度的情况下分块上传数据。
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "audio", CURLFORM_CONTENTTYPE, MULTI_PART_CONTENT_TYPE_AUDIO, CURLFORM_STREAM, &(*(aBuffer)),
CURLFORM_CONTENTSLENGTH,bufferSize, CURLFORM_END);
"CURLFORM_STREAM" 的文档指定必须指定 "CURLFORM_CONTENTSLENGTH" 。我需要使用“CURLFORM_STREAM”,因为我的缓冲区很大,我希望 curl 调用“CURLOPT_READFUNCTION”来发布剩余数据。