libCURL带有大文件的多部分POST

时间:2012-08-26 15:28:36

标签: post libcurl large-files large-file-upload

我需要使用多部分POST请求上传大文件(> 2 GB)。源文件可以使用unicode符号命名。问题是libcurl不支持windows中的unicode wfopen,所以我无法像通常那样完成此任务

curl_formadd(&formpost, &lastptr,
  CURLFORM_COPYNAME, fieldname,
  CURLFORM_FILENAME, filename,
  CURLFORM_FILE, full_path_to_file,
  CURLFORM_CONTENTTYPE, "application/octet-stream",
  CURLFORM_END);

我发现我可以将curl_formadd的CURLFORM_STREAM选项与CURLOPT_READFUNCTION结合使用。现在我需要通过CURLFORM_CONTENTSLENGTH选项手动设置文件大小,但是当我需要设置“long long”文件大小时,它只接受“long”作为参数。通过curl手册查看后,我找到了一些CURLOPT_POSTFIELDSIZE_LARGE选项,但在我的情况下它什么也没做。似乎多部分请求系统忽略此参数。我不知道该怎么做,我不想放弃unicode名称或大文件支持。

0 个答案:

没有答案