C LibCurl文件上传到rails服务器上的ruby

时间:2017-04-20 18:51:09

标签: ruby-on-rails c curl libcurl

我正在尝试将文本文件上传到rails服务器上的ruby。我成功通过CLI上传文件:

curl -X POST --data-urlencode data@/etc/filepath/ www.example.com/path

现在,通过C:

尝试使用libCurl
        FILE *fd;
        fd = fopen(file_path, "rb");
        if (!fd)
            return -1;

        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
        curl_easy_setopt(curl, CURLOPT_POST, 1L);
        curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
        curl_easy_setopt(curl, CURLOPT_READDATA, fd);
    }

为什么运行CLI的任何想法都可行,但libCurl却没有?我错过了一些卷曲选项还是我的服务器需要备用配置?

由于

1 个答案:

答案 0 :(得分:1)

您基本上想要CURLOPT_POSTFIELDS CURLOPT_UPLOAD。您想以字符串形式提供数据还是从文件中读取数据?

您也不希望 CURLOPT_POSTCURLOPT_UPLOAD,后者暗示PUT