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



我不想使用 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卡中并从那里读取?

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

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

最新更新