使用Curl数据二进制选项,内存不足

时间:2018-07-07 10:45:42

标签: bash shell curl google-api

我想使用curl来上传数据。我需要上传二进制数据。

不幸的是,我认为curl首先将文件二进制文件加载到内存中,因此对于大文件来说这是个问题。我正在使用的系统的可用内存非常小,因此,即使文件大小为8mb也很费力,我得到了:

curl: option --data-binary: out of memory
curl: try 'curl --help' for more information

我尝试了分块选项,而且似乎也不起作用。

到目前为止,这是我正在尝试的:

curl --insecure -v --max-time 1200 ... --data-binary @/tmp/sd/record/....mp4 --header Transfer-Encoding: chunked -o UPLOAD_TOKEN -D Media_Binary_Data https://....upload

有没有一种方法可以防止文件将二进制文件加载到内存中或强制将其存储在sd卡中并从那里读取数据?

1 个答案:

答案 0 :(得分:0)

内存不足的原因是--data及其朋友将所有数据读入内存,然后再发送到服务器。您可以通过-T -X POST轻松解决该问题,但是我仍然相信您在最初的-F测试中已经出错了。

发件人:https://github.com/curl/curl/issues/1385