Audio Libcurl发送音频文件

Audio Libcurl发送音频文件,audio,file-upload,libcurl,Audio,File Upload,Libcurl,我正在尝试使用libcurl将wav文件发送到我的ruby服务器。这是一篇多格式的文章,下面是主要的代码片段: curl_easy_setopt(curl, CURLOPT_URL, "192.168.0.136:3000/upload"); struct curl_httppost *post = NULL; struct curl_httppost *last = NULL; //Added longer timeout i

我正在尝试使用libcurl将wav文件发送到我的ruby服务器。这是一篇多格式的文章,下面是主要的代码片段:

        curl_easy_setopt(curl, CURLOPT_URL, "192.168.0.136:3000/upload");

        struct curl_httppost *post = NULL;
        struct curl_httppost *last = NULL;

        //Added longer timeout in case of large files
        //Two forms, one for file and another for data
        curl_formadd(&post, &last, CURLFORM_COPYNAME, "file", CURLFORM_FILECONTENT, "log1.wav", CURLFORM_END);
        curl_formadd(&post, &last, CURLFORM_COPYNAME, "data", CURLFORM_PTRCONTENTS, data, CURLFORM_END);
        curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);

       curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
       curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&respons_buf);
       res = curl_easy_perform(curl);

我收到的文件是一个编码文本,我不知道该怎么办。这与我发送文本文件的方法相同。我是否缺少一些标题信息

libcurl在发送多部分表单post时,不会以任何方式编码或转换数据。它发送从磁盘上的文件读取的确切字节数

如果您在服务器端没有收到完全相同的数据,服务器软件可能会为您执行一些魔术。可能基于文章特定部分中不存在的Content-Type:header。您可以尝试添加
CURLFORM\u CONTENTTYPE
和文件的类型